requests 模块发送post请求
post请求 data 参数携带字典
post(url, data=None, json=None, kwargs)
发送一个post请求
参数说明:
url:请求的url
data:传递查询的参数,可以是字典类型,也可以是bytes类型或者是文件对象。
json:传递的json数据
kwargs:可选请求参数
该方法返回一个reponse对象。
#coding=utf-8
import requests
payload = {"key1":"value1","key2":"value2"}#这是个字典
response = requests.post("http://httpbin.org/post",data=payload)
assert response.status_code == 200
print response.url
print response.text
post 请求json 参数携带json字符串
#coding=utf-8
import requests
import json
payload = {"name":"Lucy","sex":"male"}
print type(json.dumps(payload))
response = requests.post("http://httpbin.org/post",json=json.dumps(payload))
#以上把字典转换成json串,但是用data发送json也可以;
#response = requests.post("http://httpbin.org/post",data=json.dumps(payload))
assert response.status_code == 200
print response.url
print response.text
post 请求发送文件对象
#coding=utf-8
import requests
url = "http://httpbin.org/post"
file = {"file":open(r"c:\\1.png","rb")}#字典参数
response = requests.post(url,files=file)
assert response.status_code == 200
print response.status_code
print response.url
#print response.content
post 请求携带头信息
#coding=utf-8
import requests
import json
url = 'http://httpbin.org/post'
payload = {'name': 'Lucy', 'sex': 'male'}
headers = {'content-type': 'application/json'}#字典参数
r = requests.post(url, data = json.dumps(payload), headers = headers)
print r.status_code
requests 模块发送put请求
put(url, data=None, kwargs)
发送一个put请求,和post类似
参数说明:
url:请求的url
data:传递查询的参数,可以是字典类型,也可以是bytes类型戒者是文件对象。
kwargs:可选请求参数
该函数也是返回一个response对象。
response 响应对象
response对象:通过request模块中的各个请求方法后,就会获得一个response对象,在这个response对象中存放着客户端请求后的一些请求信息。
常用方法:
response.status_code
response.headers
response.text #响应正文
response.cookies
response. cookies[‘BAIDUID’] #获取某个cookie 值
response.encoding
response.json() #返回一个字典
r.json()[‘data’][‘country’] #获取字典中的值
response.content