requests入门
安装
pip install requests
发送请求的方法
import requests
requests.post("http://httpbin.org/post")
requests.put("http://httpbin.org/put")
requests.delete("http://httpbin.org/delete")
requests.get("http://httpbin.org/get")
获取响应结果的方法
response.json() #以json的形式返回响应内容,对象格式为dict
response.content #以二进制的形式返回响应内容,对象格式为bytes
response.text #以字符串的形式返回响应内容,对象格式为str
response.url #返回请求的url
response.status_code #返回本次请求的状态码
response.reason #返回状态码对应的原因
response.headers #返回响应头
response.cookies #返回cookice信息
response.encoding #返回编码格式
r.raw #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read()
例:
#! /usr/bin/python3
# -*- congfig:utf-8 -*-
import requests
def test_requests(url):
r = requests.get(url)
print(r.status_code)
print(r.reason)
print(r.headers)
print(r.cookies)
print(r.text)
print(r.content.decode(''))
print(r.json())
print(r.encoding)
print(r.raw.read())
if __name__ == "__main__":
url = "http://httpbin.org/get"
test_requests(url)
response.content和response.text
r.text相当于r.content.decode()
当r.text显示中文乱码时,可以先获取r.content,然后指定编码格式解码
session会话
s = requests.Session()
s.auth = ('auth','passwd')
s.headers = {'key':'value'}
r = s.get('url')
r1 = s.get('url1')
代理
proxies = {'http':'ip1','https':'ip2' }
requests.get('url',proxies=proxies)
SSL证书校验
关闭证书校验
import request
from requests.packages import urllib3
urllib3.disable_warnings() #关闭告警
requests.get('url',verify=False) #verify=False 关闭证书校验
证书校验
import request
verify_file = "******" #证书路径
requests.get('url',verify=verify_file)
#会话中
s = requests.Session()
s.verify = verify_file