您的位置:首页 > 编程语言 > Python开发

Python第三方库Requests学习

2014-11-02 20:34 274 查看
1.安装

git clone git://github.com/kennethreitz/requests.git
cd requests
python setup.py install


2.上点威力

(GET)

>>> import requests
>>> url = 'http://dict.baidu.com/s'
>>> payload = {'wd':'python'}
>>> r = requests.get(url,params=payload)  //最基本带参数的get请求
<Response [200]>
>>> print(r.url) http://dict.baidu.com/s?wd=python >>> print(r.text)  //解码后的数据


(POST)

>>> import requests
>>> import json
>>> r = requests.post('https://api.github.com/some/endpoint', data=json.dumps({'some': 'data'}))
>>> print (r.json())
{u'documentation_url': u'https://developer.github.com/v3', u'message': u'Not Found'}


定制Header

>>> import requests
>>> import json
>>> data = {'some':'data'}
>>> headers = {'content-type':'application/json','User-Agent':'Mozilla/5.0(x84_64;)Firefox/22.0'}
>>> r = requests.post('https://api.github.com/some/endpoint',data=data,headers=headers)
>>> print(r.text)
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3"
}


超时设置

requests.get('http://github.com', timeout=0.001)

----------------------
一堆异常,重点看后面
ConnectTimeout: HTTPConnectionPool(host='github.com', port=80): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.HTTPConnection object at 0x01EAE6F0>, 'Connection to github.com timed out. (connect timeout=0.001)'))


访问Cookie

import requests
r = requests.get('http://www.google.com.hk/')
print(r.cookies['NID'])
print(tuple(r.cookies))


也可以往服务器发送Cookie

import requests
url = 'http://myserver.org/cookies'
cookies = {'testCookies_1': 'Hello_Python3', 'testCookies_2': 'Hello_Requests'}
# 在Cookie Version 0中规定空格、方括号、圆括号、等于号、逗号、双引号、斜杠、问号、@,冒号,分号等特殊符号都不能作为Cookie的内容。
r = requests.get(url, cookies=cookies)
print(r.json())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: