Appearance
cookie测试
python
import requests
requests.get('https://www.httpbin.org/cookies/set/number/123456789')
r = requests.get('https://www.httpbin.org/cookies')
print(r.text)
session测试
python
import requests
s = requests.Session()
s.get('https://www.httpbin.org/cookies/set/number/123456789')
r = s.get('https://www.httpbin.org/cookies')
print(r.text)
忽略https证书
未处理的情况
python
import requests
response = requests.get('https://ssr2.scrape.center/')
print(response.status_code)
关闭https证书校验
python
import requests
response = requests.get('https://ssr2.scrape.center/', verify=False)
print(response.status_code)
屏蔽警告
python
import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response = requests.get('https://ssr2.scrape.center/', verify=False)
print(response.status_code)
捕获警告到日志的方式忽略警告
python
import logging
import requests
logging.captureWarnings(True)
response = requests.get('https://ssr2.scrape.center/', verify=False)
print(response.status_code)
本地证书
python
import requests
response = requests.get('https://ssr2.scrape.center/', cert=('/path/server.crt', '/path/server.key'))
print(response.status_code)
超时设置
python
import requests
r = requests.get('https://www.httpbin.org/get', timeout=1)
# r = requests.get('https://www.httpbin.org/get', timeout=(5, 30))
# r = requests.get('https://www.httpbin.org/get', timeout=None)
# r = requests.get('https://www.httpbin.org/get')
print(r.status_code)
身份认证
python
import requests
from requests.auth import HTTPBasicAuth
r = requests.get('https://ssr3.scrape.center/', auth=HTTPBasicAuth('admin', 'admin'))
print(r.status_code)
简写方式
python
import requests
r = requests.get('https://ssr3.scrape.center/', auth=('admin', 'admin'))
print(r.status_code)
OAuth1认证
python
# pip3 install requests_oauthlib
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)
代理设置
python
import requests
proxies = {'http': 'http://10.10.10.10:1080', 'https': 'http://10.10.10.10:1080'}
requests.get('https://www.httpbin.org/get', proxies=proxies)
代理中的身份认证
python
import requests
proxies = {'https': 'http://user:password@10.10.10.10:1080/', }
requests.get('https://www.httpbin.org/get', proxies=proxies)
SOCKS协议代理
python
# pip3 install "requests[socks]"
import requests
proxies = {
'http': 'socks5://user:password@host:port',
'https': 'socks5://user:password@host:port'
}
requests.get('https://www.httpbin.org/get', proxies=proxies)
Prepared Request
python
from requests import Request, Session
url = 'https://www.httpbin.org/post'
data = {'name': 'germey'}
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac 0s x 10 11 4)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/53.0.2785.116 Safari/537.36'
}
s = Session()
reg = Request('POST', url, data=data, headers=headers)
prepped = s.prepare_request(reg)
r = s.send(prepped)
print(r.text)