Python學習_Python 3.X版本導入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 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())

 

參考資料

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM