基本实例1:
import requests
response = requests.get('https://www.12306.cn', verify=False)
print(response.status_code)
描述:
verify=False,忽略证书认证
基本实例2:
import logging
import requests
logging.captureWarnings(True)
response = requests.get('https://www.12306.cn', verify=False)
print(response.status_code)
描述:
通过捕获警告到日志的方式忽略警告
基本实例3:
import requests
response = requests.get('https://www.12306.cn', cert=('/path/server.crt', '/path/key'))
print(response.status_code)
描述:
指定本地证书,可以是单个文件包含秘钥和证书,或一个包含两个文件路径的元组
基本实例1:
import requests
proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080',
}
requests.get('https://www.taobao.com', proxies=proxies
基本实例2:
import requests
proxies = {
'https': 'http://user:[email protected]:3128/',
}
requests.get('https://www.taobao.com', proxies=proxies)
描述:
代理使用HTTP Basic Auth,则必须用类似 http://user:password@host:port 这样的语法来设置
基本实例3:
import requests
proxies = {
'http': 'socks5://user:password@host:port',
'https': 'socks5://user:password@host:port'
}
requests.get('https://www.taobao.com', proxies=proxies)
描述:
使用SOCKS 协议的代理,必须安装Socks库,命令如下:
pip3 install "requests[socks]"
设置超时时间需要用到 timeout 参数。这个时间的计算是发出 Request 到服务器返回 Response 的时间
基本实例1:
import requests
r = requests.get('https://www.taobao.com', timeout=1)
print(r.status_code)
描述:
超时时间设置为 1 秒,如果 1 秒内没有响应,那就抛出异常。实际上请求分为两个阶段,即connect和read阶段,在这里设置的是两个阶段的总和。
如果想永久等待,则需要将timeout设置为None,或者不设置直接留空
基本实例2:
r = requests.get('https://www.taobao.com', timeout=(5, 11))
描述:
分别设置connect和read阶段的超时时间
基本实例1:
import requests
from requests.auth import HTTPBasicAuth
r = requests.get('http://localhost:5000', auth=HTTPBasicAuth('username', 'password'))
print(r.status_code)
描述:
使用HTTPBasicAuth类
基本实例2:
import requests
r = requests.get('http://localhost:5000', auth=('username', 'password'))
print(r.status_code)
描述:
简单写法,默认使用HTTPBasicAuth类
基本实例3:
import requests
from requests_oauthlib import OAuth1
url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')
requests.get(url, auth=auth)
描述:
使用OAuth 认证。需要下载oauth包,下载命令:pip3 install requests_oauthlib
,更多方式请见requests_oauthlib 官方文档:https://requests-oauthlib.readthedocs.org/
基本实例:
from requests import Request, Session
url = 'http://httpbin.org/post'
data = {
'name': 'germey'
}
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36'
}
s = Session()
req = Request('POST', url, data=data, headers=headers)
prepped = s.prepare_request(req)
r = s.send(prepped)
print(r.text)
描述:
我们引用了Request,然后使用url、data、headers参数构造一个Request对象,调用 Session 的 prepare_request() 方法将其转换为一个 Prepared Request 对象,然后调用 send() 方法发送即可