从零学python系列之新版本导入httplib模块报importerror解决方案

之前用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 httplibimport 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.reasonprint res.msgprint 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())

附上参考资料

Posted in 未分类