12、httpclient、httplib
<p>随笔- 19 文章- 0 评论- 13
Python学习_Python 3.X版本导入httplib模块报ImportError解决方案</p>
<p>之前用Python 2.7版本的httplib做接口测试时,运行代码都是正常的,</p>
<p>最近开始用Python 3.3之后,再去看以前的代码,发现import httplib出现错误:Unresolved import :httplib,</p>
<p>运行代码时也报错:ImportError: No module named 'httplib'</p>
<p>查找各种资料发现原来Python 2.x中的"httplib"模块在Python 3.x中变成了"http.client",就怪之前只了解了两个版本区别是print语句输出在3.x中要加(),看来要详细了解所有区别了~</p>
<p>附上代码供参考,期望大家不会被这个报错坑了~</p>
<p>2.7版本中的代码实现:
复制代码</p>
<pre><code>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()</code></pre>
<p>复制代码</p>
<p>3.3版本中代码实现:
复制代码</p>
<pre><code>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())</code></pre>
<p>复制代码</p>
<p>附参考资料</p>