python requests

By 水木神風 at 2017-08-10 • 0人收藏 • 2414人看过
import requests
 
r = requests.get(url='http://www.itwhy.org')    # 最基本的GET请求print(r.status_code)    # 获取返回状态

r = requests.get(url='http://dict.baidu.com/s', 
params={'wd':'python'})   
#带参数的GET请求print(r.url)print(r.text)   #打印解码后的返回数据



带参数的请求实例:

import requests
requests.get('http://www.dict.baidu.com/s', 
params={'wd': 'python'})    #GET参数实例

requests.post('http://www.itwhy.org/wp-comments-post.php', data={'comment': '测试POST'})    #POST参数实例

POST发送JSON数据:

import requestsimport json
 
r = requests.post('https://api.github.com/some/endpoint', data=json.dumps({'some': 'data'}))

print(r.json())


定制header:

import requestsimport json
 
data = {'some': 'data'}
headers = {'content-type': 'application/json',           
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
 
r = requests.post('https://api.github.com/some/endpoint', data=data, headers=headers)

print(r.text)

Response对象

使用requests方法后,会返回一个response对象,其存储了服务器响应的内容,如上实例中已经提到的 r.text、r.status_code……
获取文本方式的响应体实例:当你访问 r.text 之时,会使用其响应的文本编码进行解码,并且你可以修改其编码让 r.text 使用自定义的编码进行解码。

r = requests.get('http://www.itwhy.org')print(r.text, '\n{}\n'.format('*'*79), r.encoding)

r.encoding = 'GBK'print(r.text, '\n{}\n'.format('*'*79), r.encoding)


1 个回复 | 最后更新于 2017-08-10
2017-08-10   #1

requests.post 的参数并不在body 里面,而是在 request.POST 里面获取

登录后方可回帖