python request快速入门s快速入门.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pythonrequest快速入门pythonrequests快速入门

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 。具体的

您可能关注的文档

文档评论(0)

skewguj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档