- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pythonrequests快速入门.doc
Python requests 快速入门
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引。其假设你已经安装了Requests。如果还没有, 去 安装 一节看看吧。
首先,确认一下:
Requests 已安装
Requests是 最新的
让我们从一些简单的示例开始吧。
发送请求
使用Requests发送网络请求非常简单。
一开始要导入Requests模块:
import requests
然后,尝试获取某个网页。本例子中,我们来获取Github的公共时间线
r = requests.get(/timeline.json)
现在,我们有一个名为 r 的 Response 对象。可以从这个对象中获取所有我们想要的信息。
Requests简便的API意味着所有HTTP请求类型都是显而易见的。例如,你可以这样发送一个HTTP POST请求:
r = requests.post(/post)
漂亮,对吧?那么其他HTTP请求类型:PUT, DELETE, HEAD以及OPTIONS又是如何的呢?都是一样的简单:
r = requests.put(/put)
r = requests.delete(/delete)
r = requests.head(/get)
r = requests.options(/get)
都很不错吧,但这也仅是Requests的冰山一角呢。
为URL传递参数
你也许经常想为URL的查询字符串(query string)传递某种数据。如果你是手工构建URL,那么数据会以键/值 对的形式置于URL中,跟在一个问号的后面。例如,/get?key=val 。 Requests允许你使用 params 关键字参数,以一个字典来提供这些参数。举例来说,如果你想传递 key1=value1 和 key2=value2 到 /get ,那么你可以使用如下代码:
payload = {key1: value1, key2: value2}
r = requests.get(/get, params=payload)
通过打印输出该URL,你能看到URL已被正确编码:
print r.url
u/get?key2=value2key1=value1
响应内容
我们能读取服务器响应的内容。再次以Github时间线为例:
import requests
r = requests.get(/timeline.json)
r.text
[{repository:{open_issues:0,url:/...
Requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。
请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。当你访问r.text 之时,Requests会使用其推测的文本编码。你可以找出Requests使用了什么编码,并且能够使用 r.encoding 属性来改变它:
r.encoding
utf-8
r.encoding = ISO-8859-1
如果你改变了编码,每当你访问 r.text ,Request都将会使用 r.encoding 的新值。
在你需要的情况下,Requests也可以使用定制的编码。如果你创建了自己的编码,并使用codecs 模块进行注册,你就可以轻松地使用这个解码器名称作为 r.encoding 的值, 然后由Requests来为你处理编码。
二进制响应内容
你也能以字节的方式访问请求响应体,对于非文本请求:
r.content
b[{repository:{open_issues:0,url:/...
Requests会自动为你解码 gzip 和 deflate 传输编码的响应数据。
例如,以请求返回的二进制数据创建一张图片,你可以使用如下代码:
from PIL import Image
from StringIO import StringIO
i = Image.open(StringIO(r.content))
JSON响应内容
Requests中也有一个内置的JSON解码器,助你处理JSON数据:
import requests
r = requests.get(/timeline.json)
r.json()
[{urepository: {uopen_issues: 0, uurl: /...
如果JSON解码失败, r.json 就会抛出一个异常。
原始响应内容
在罕见的情况下你可能想获取来自服务器的原始套接字响应,那么你可以访问 r.raw 。 如果你确实想这么干,那请你确保在初始请求中设置了 stream=True 。具体的你可以这么做:
r = requests.ge
您可能关注的文档
最近下载
- 2025年新教材道德与法治三年级上册第二单元《学科学,爱科学》教案设计.docx VIP
- 水轮机及辅助设备作业风险辨识册.pdf VIP
- 冀人版(2017)科学六年级上册1.4生物的演变(课件).pptx VIP
- 第2课《树立科学的世界观》第2框《用科学世界观指导人生发展》【中职专用】中职思想政治《哲学与人生》(高教版2023基础模块).pptx
- 教育经济学 全套课件.ppt VIP
- 如何做好施工现场管理.pptx
- 分布式光纤传感技术在排水管道安全监测中的应用 .pdf VIP
- 北大外语世文所考研答案专业收集.doc
- 管螺纹简介课件文本.ppt VIP
- 水轮机及辅助设备作业风险辨识册解析.doc
文档评论(0)