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
python MySQLdb模块介绍
03-24
python flask-sqlalchemy如何设置使自动建的mysql表字符集charset为utf8
06-04
python字符串连接示例
06-26
python爬虫 day01
07-07
python笔记24(回顾、复习)
05-24
Nginx ngx_http_limit_conn ngx_http_limit_conn模块(请求限制和连接数限制)使用指南
03-20
ubuntu14.04升级php curl,支持http2发送APNs
03-09
通过python和websocket构建实时通信系统[扩展saltstack监控]
06-27
零基础入门python爬虫(一)
05-25
Linux一键配置工具ezhttp介绍
03-09
ezhttp更改sshd端口
03-15
ezhttp配置防火墙iptables
05-16
ngx_http_mirror_module- nginx流量镜像模块用法
03-31
使用nginx ngx_http_referer_module模块配置防盗链
06-28
CentOS 7编译安装及yum安装python 3
06-15
Ubuntu 16.04使用Nginx安装http Git服务器
03-11
Debian 7 (Wheezy)安装配置Apache mod_fastcgi PHP-FPM
07-20
EDU 7.5.x网络同传后,接收端无法再次登录到发送端的解决方案
05-15
Intel芯片组USB3.0驱动程序的手动安装方法
07-13
Lenovo G550在Windows XP操作系统下触控板驱动安装方法
07-17
360安全桌面 v2.8.0.1001 官方安装版
42.53M
下载3d蓝光播放器(高清3D影音播放软件) V1.8.0.4 绿色免安装版
36.8 MB
下载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
下载硬盘安装器下载
17.35 MB
下载驱动总裁最新绿色免安装版 2.6.0.0 最新版
287.73M
下载黄山IE修复专家 v9.0 官方安装版
4.44MB
下载httpSniffer绿色版 v1.2
255.1K
下载autocad2014(cad设计软件) 免费版
1505.28MB
下载editplus3下载
1.41M
下载usb3.0驱动下载
8.67MB
下载系统之家一键重装系统下载
28.4M
下载网络文件服务器下载
837.6KB
下载