之前用Python 2.7版本的httplib做接口测试时,运行代码都是正常的,
最近开始用Python 3.3之后,再去看以前的代码,发现import httplib出现错误:Unresolved import :httplib,
运行代码时也报错:ImportError: No module named \’httplib\’
查找各种资料发现原来Python 2.x中的\”httplib\”模块在Python 3.x中变成了\”http.client\”,就怪之前只了解了两个版本区别是print语句输出在3.x中要加(),看来要详细了解所有区别了~
附上代码供参考,期望大家不会被这个报错坑了~
2.7版本中的代码实现:
复制代码 代码如下:
import httplib
import urllib
reqheaders={
\’MobileType\’:\’Android\’,
\’DeviceToken\’:\’xxxxxxxxx\’,
\’OSVersion\’:\’1.0.3\’,
\’AppVersion\’:\’14\’,
\’Host\’:\’192.xxx.x.xxxx\’}
reqconn=httplib.HTTPConnection(\”192.xxx.x.xxxx\”)
reqconn.request(\”GET\”, \”/Login?username=1416&password=123\”, None, reqheaders)
res=reqconn.getresponse()
print res.status, res.reason
print res.msg
print res.read()
3.3版本中代码实现:
复制代码 代码如下:
import http.client #修改引用的模块
import urllib
reqheaders={
\’MobileType\’:\’Android\’,
\’DeviceToken\’:\’xxxxxxxxx\’,
\’OSVersion\’:\’1.0.3\’,
\’AppVersion\’:\’14\’,
\’Host\’:\’192.xxx.x.xxxx\’}
reqconn=http.client.HTTPConnection(\”192.xxx.x.xxxx\”) #修改对应的方法
reqconn.request(\”GET\”, \”/Login?username=1416&password=123\”, None, reqheaders)
res=reqconn.getresponse()
print (res.status, res.reason)
print (res.msg)
print (res.read())
附上参考资料