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