Skip to content

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)