发布时间:2020-07-05 16:00:57来源:阅读:
Requests是一个Apache2 Licensed HTTP库,使用python编写。旨在设计成为易用的http请求库。意味着你不需要手动添加请求字符串到url,或者对POST数据进行表单编码。
有多种方法来安装requests库,如pip,easy_install和编译安装。
这里推荐pip,如执行:
pip install requests
要能够在python使用requests库,必须导入正确的模块。可以在脚本头部添加:
import requests
如获取一个网页的内容
r = request.get(‘http://github.com/timeline.json’)
发送请求后,准备往下对网页内容或url进一步处理时,最好先检查一下响应状态码。如下示例:
r = requests.get('http://github.com/timeline.json')
r.status_code
>>200
r.status_code == requests.codes.ok
>>> True
requests.codes['temporary_redirect']
>>> 307
requests.codes.teapot
>>> 418
requests.codes['o/']
>>> 200
当web服务器返回响应体后,就可以收集你所需的内容了。
import requests
r = requests.get('http://github.com/timeline.json')
print r.text
# The Requests library also comes with a built-in JSON decoder,
# just in case you have to deal with JSON data
import requests
r = requests.get('http://github.com/timeline.json')
print r.json
通过使用python字典,可以访问和查看服务器的响应头。
r.headers
{
'status': '200 OK',
'content-encoding': 'gzip',
'transfer-encoding': 'chunked',
'connection': 'close',
'server': 'nginx/1.0.4',
'x-runtime': '148ms',
'etag': '"e1ca502697e5c9317743dc078f67693f"',
'content-type': 'application/json; charset=utf-8'
}
r.headers['Content-Type']
>>>'application/json; charset=utf-8'
r.headers.get('content-type')
>>>'application/json; charset=utf-8'
r.headers['X-Random']
>>>None
# Get the headers of a given URL
resp = requests.head("http://www.google.com")
print resp.status_code, resp.text, resp.headers
如果想要添加自定义请求头到一个请求,必须传递一个字典到headers参数。
import json
url = 'http://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
requests库也可以发送post请求,如下:
r = requests.post(http://httpbin.org/post)
当然也可以发送其它类型的请求,如 PUT, DELETE, HEAD和OPTIONS.
r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")
可以使用这些方法完成很多复杂的工作,如使用一个python脚本来创建一个GitHub repo。
import requests, json
github_url = "http://api.github.com/user/repos"
data = json.dumps({'name':'test', 'description':'some test repo'})
r = requests.post(github_url, data, auth=('user', '*****'))
print r.json
360安全桌面 v2.8.0.1001 官方安装版
42.53M
HofoSetup(安装程序制作软件)v8.5.4 破解版
5.7M
Virtual CloneDrive V5.4.4.0 汉化纯净安装版
1.6MB
pkpm2010破解版(建筑结构设计软件)附安装教程
1.56GB
xlive(系统U盘安装软件) v1.0 官方版
21.3MB
和平网络电视 v2.9.9.9 官方安装版
4.2M
矮人DOS工具箱 V5.3 Bulid 6.713 安装版
9.01M
硬盘安装器(系统安装工具) 1.6.10.6 中文版
17.35 MB
系统之家一键重装系统(系统自动安装工具)12.5.48.1830 最新版
28.4M
驱动总裁最新绿色免安装版 2.6.0.0 最新版
287.73M
黄山IE修复专家 v9.0 官方安装版
4.44MB
3d蓝光播放器下载
36.8 MB
httpSniffer绿色版 v1.2
255.1K
autocad2014破解版下载
1505.28MB
editplus3下载
1.41M
usb3.0驱动下载
8.67MB
网络文件服务器(http文件管理系统) 2.3 绿色版
837.6KB
2020-02-16
联想稳定型移动硬盘随机附赠软件《问鼎 数据灾难恢复工具》的安装序列号在何处可以找到?
Windows 8系统开机出现“你的电脑出现问题需要重启,我们只需要收集这些错误信息”
反射机制(reflection)
QQ电脑管家Q盘问题详细解答
XP下添加打印机安装打印机驱动时提示:操作无法完成
育碧是如何做AI的?《全境封锁》敌人AI设计思路分析
Ubuntu 14.04安装Pritunl VPN服务器(带控制面板)
Logstash匹配request_time 字段错误解决方法
MetInfo 支付接口管理插件升级,新增余额统计功能