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

yipeiwu_com6年前Python基础

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

附上参考资料

相关文章

Python数据结构与算法之图的广度优先与深度优先搜索算法示例

本文实例讲述了Python数据结构与算法之图的广度优先与深度优先搜索算法。分享给大家供大家参考,具体如下: 根据维基百科的伪代码实现: 广度优先BFS: 使用队列,集合 标记初始结点已被...

在Django的模板中使用认证数据的方法

当前登入的用户以及他(她)的权限可以通过 RequestContext 在模板的context中使用。 注意 从技术上来说,只有当你使用了 RequestContext这些变量才可用。...

解决DataFrame排序sort的问题

如下所示: result = result.T.sort(['confidence','support'], ascending = False) 报以下错误: Attribu...

Python迭代器与生成器用法实例分析

本文实例讲述了Python迭代器与生成器用法。分享给大家供大家参考,具体如下: 迭代器,迭代的工具 什么是迭代器? 指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是...

python查看文件大小和文件夹内容的方法

一旦有办法处理文件路径,就可以开始搜集特定文件和文件夹的信息。os.path 模块提供了一些函数,用于查看文件的字节数以及给定文件夹中的文件和子文件夹。 • 调用 os.pa...