Heim >Backend-Entwicklung >Python-Tutorial >从零学python系列之新版本导入httplib模块报ImportError解决方案

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

WBOY
WBOYOriginal
2016-06-06 11:30:411184Durchsuche

之前用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())

附上参考资料

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn