美文网首页颠覆你的Python实践软件测试之路
Python系列六--处理HTTP返回包 问题汇总

Python系列六--处理HTTP返回包 问题汇总

作者: 倔强的潇洒小姐 | 来源:发表于2017-08-29 14:47 被阅读30次

    1、如何查看http请求头中的 User-Agent 信息?

    手机/电脑通用:打开浏览器,访问 http://whatsmyuseragent.com,即可看到

    查看手机/电脑的User-Agent信息.png

    2、数据类型

    在python 2.x中,有两种整数类型,一般的32位整数和长整数,长整数都是以L或者l(不建议使用小写l, 容易跟1搞混),超过32位长度之后会自动转换为长整形。
    在python 3.x中,允许我们更随心所欲更自然的使用整数,只有一种类型,没有长度限制

    长整型在3.X不适用.png

    根据提示是“0o”(数字0 和字母 o),但这个是用来表示8进制的,此处将L去掉就好了
    如输入0o1000,输出结果为512,即=1*83+0*82+0*81+0*80

    0o八进制.png

    3、判断键是否存在于字典中

    在Python 2里,字典对象的 has_key() 方法用来测试字典是否包含特定的键(key)。
    Python 3不再支持这个方法了,需要使用 in运算符代替

    python3里的字典没有了dict.has_key(key).png
    if temp_result_interface.has_key(temp_code_to_compare):
    # 上述语句改成下面的语句
    if temp_code_to_compare in temp_result_interface: 
    

    4、运行有结果,但仍有报错信息:

    处理方法: %s要不要加单双引号看表结构设计,非字符型的不需要加
    SQL语句如果外面是单引号,里面就用双引号,若外面是双引号,里面就单引号

    运行代码输出结果正确,但仍有报错信息.png 表结构设计.png

    如果上述方法运行仍是提示
    Mysql Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'message": "获取附近服务商成功", "nextPage": 1, "pageNo": 0, "merchantIn' at line 1

    SQL前后单双引号问题.png

    那可能就跟变量值的类型有关系了
    经过调试分析
    temp_result_interface[temp_code_to_compare] 和 result_interface 都是字符型,在源代码中增加输出 ,由此推测赋值变量值类型为字符型时 SQL语句中字段参数化时 %s 需要 双引号,SQL语句前后则用单引号

    对于这块内容还没有研究透,SQL语句中 %s单双引号的使用 与表结构、变量至类型的关系

    大婶说在 操作mysql数据的py文件中对应方法打上断点,这样就能看到具体的执行sql是什么 也能看出哪里出错了
    需不需要 单引号 或者双引号 与数据有关系,灵活处理就可以了

    SQL语句引号跟变量类型值有关.png

    5、较长代码时换行方式(PEP8 一行代码超过120时需换行)

    1)使用反斜杠\

    Paste_Image.png

    2)敲回车键会自动生成

    敲回车键会生成换行符.png 参数换行则与左括号后的参数对齐.png

    相关文章

      网友评论

        本文标题:Python系列六--处理HTTP返回包 问题汇总

        本文链接:https://www.haomeiwen.com/subject/wtmbdxtx.html