requests模块如何在Python项目中使用
本篇文章给大家分享的是有关requests模块如何在Python项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1、Requests模块说明
Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。
Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。
在Python的世界里,事情不应该这么麻烦。
Requests 使用的是 urllib3,因此继承了它的所有特性。Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。现代、国际化、人性化。
2、Requests模块安装
$pythonsetup.pyinstall
个人推荐使用pip安装
pipinstallrequests
也可以使用easy_install安装
easy_installrequests
尝试在IDE中import requests,如果没有报错,那么安装成功。
3、Requests模块简单入门
#HTTP请求类型 #get类型 r=requests.get('https://github.com/timeline.json') #post类型 r=requests.post("http://m.ctrip.com/post") #put类型 r=requests.put("http://m.ctrip.com/put") #delete类型 r=requests.delete("http://m.ctrip.com/delete") #head类型 r=requests.head("http://m.ctrip.com/head") #options类型 r=requests.options("http://m.ctrip.com/get") #获取响应内容 printr.content#以字节的方式去显示,中文显示为字符 printr.text#以文本的方式去显示 #URL传递参数 payload={'keyword':'日本','salecityid':'2'} r=requests.get("http://m.ctrip.com/webapp/tourvisa/visa_list",params=payload) printr.url#示例为http://m.ctrip.com/webapp/tourvisa/visa_list?salecityid=2&keyword=日本 #获取/修改网页编码 r=requests.get('https://github.com/timeline.json') printr.encoding r.encoding='utf-8' #json处理 r=requests.get('https://github.com/timeline.json') printr.json()#需要先importjson #定制请求头 url='http://m.ctrip.com' headers={'User-Agent':'Mozilla/5.0(Linux;Android4.2.1;en-us;Nexus4Build/JOP40D)AppleWebKit/535.19(KHTML,likeGecko)Chrome/18.0.1025.166MobileSafari/535.19'} r=requests.post(url,headers=headers) printr.request.headers #复杂post请求 url='http://m.ctrip.com' payload={'some':'data'} r=requests.post(url,data=json.dumps(payload))#如果传递的payload是string而不是dict,需要先调用dumps方法格式化一下 #post多部分编码文件 url='http://m.ctrip.com' files={'file':open('report.xls','rb')} r=requests.post(url,files=files) #响应状态码 r=requests.get('http://m.ctrip.com') printr.status_code #响应头 r=requests.get('http://m.ctrip.com') printr.headers printr.headers['Content-Type'] printr.headers.get('content-type')#访问响应头部分内容的两种方式 #Cookies url='http://example.com/some/cookie/setting/url' r=requests.get(url) r.cookies['example_cookie_name']#读取cookies url='http://m.ctrip.com/cookies' cookies=dict(cookies_are='working') r=requests.get(url,cookies=cookies)#发送cookies #设置超时时间 r=requests.get('http://m.ctrip.com',timeout=0.001) #设置访问代理 proxies={ "http":"http://10.10.10.10:8888", "https":"http://10.10.10.100:4444", } r=requests.get('http://m.ctrip.com',proxies=proxies)
xml请求
#!/user/bin/envpython #coding=utf-8 importrequests classurl_request(): def__init__(self): """init""" if__name__=='__main__': headers={'Content-type':'text/xml'} XML='<?xmlversion="1.0"encoding="utf-8"?><soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><Requestxmlns="http://tempuri.org/"><jme><JobClassFullName>WeChatJSTicket.JobWS.Job.JobRefreshTicket,WeChatJSTicket.JobWS</JobClassFullName><Action>RUN</Action><Param>1</Param><HostIP>127.0.0.1</HostIP><JobInfo>1</JobInfo><NeedParallel>false</NeedParallel></jme></Request></soap:Body></soap:Envelope>' url='http://jobws.push.mobile.xxxxxxxx.com/RefreshWeiXInTokenJob/RefreshService.asmx' r=requests.post(url,headers=headers,data=XML) #r.encoding='utf-8' data=r.text printdata
以上就是requests模块如何在Python项目中使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。
推荐阅读
-
Python中怎么动态声明变量赋值
这篇文章将为大家详细讲解有关Python中怎么动态声明变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中变量的存储原理是什么
-
Python中怎么引用传递变量赋值
这篇文章将为大家详细讲解有关Python中怎么引用传递变量赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文...
-
python中怎么获取程序执行文件路径
python中怎么获取程序执行文件路径,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的...
-
Python中如何获取文件系统的使用率
Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴...
-
Python中怎么获取文件的创建和修改时间
这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...
-
python中怎么获取依赖包
今天就跟大家聊聊有关python中怎么获取依赖包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据...
-
python怎么实现批量文件加密功能
-
python中怎么实现threading线程同步
小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!...
-
python下thread模块创建线程的方法
本篇内容介绍了“python下thread模块创建线程的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来...