之前用Python 2.7版本的httplib做接口測(cè)試時(shí),運(yùn)行代碼都是正常的,
最近開始用Python 3.3之后,再去看以前的代碼,發(fā)現(xiàn)import httplib出現(xiàn)錯(cuò)誤:Unresolved import :httplib,
運(yùn)行代碼時(shí)也報(bào)錯(cuò):ImportError: No module named 'httplib'
查找各種資料發(fā)現(xiàn)原來Python 2.x中的"httplib"模塊在Python 3.x中變成了"http.client",就怪之前只了解了兩個(gè)版本區(qū)別是print語句輸出在3.x中要加(),看來要詳細(xì)了解所有區(qū)別了~
附上代碼供參考,期望大家不會(huì)被這個(gè)報(bào)錯(cuò)坑了~
2.7版本中的代碼實(shí)現(xiàn):
代碼如下:
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版本中代碼實(shí)現(xiàn):
代碼如下:
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") #修改對(duì)應(yīng)的方法
reqconn.request("GET", "/Login?username=1416&password=123", None, reqheaders)
res=reqconn.getresponse()
print (res.status, res.reason)
print (res.msg)
print (res.read())
附上參考資料
新聞熱點(diǎn)
疑難解答
圖片精選