之前用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())
附上參考資料
新聞熱點
疑難解答