pythonのrequestsモジュールパラメータの詳細
7884 ワード
import requests
print(dir(requests))
# 1、
# ['ConnectTimeout', 'ConnectionError', 'DependencyWarning', 'FileModeWarning', 'HTTPError', 'NullHandler', 'PreparedRequest', 'ReadTimeout', 'Request', 'RequestException', 'RequestsDependencyWarning', 'Response', 'Session', 'Timeout', 'TooManyRedirects', 'URLRequired', '__author__', '__author_email__', '__build__', '__builtins__', '__cached__', '__cake__', '__copyright__', '__description__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__title__', '__url__', '__version__', '_check_cryptography', '_internal_utils', 'adapters', 'api', 'auth', 'certs', 'chardet', 'check_compatibility', 'codes', 'compat', 'cookies', 'delete', 'exceptions', 'get', 'head', 'hooks', 'logging', 'models', 'options', 'packages', 'patch', 'post', 'put', 'request', 'session', 'sessions', 'status_codes', 'structures', 'urllib3', 'utils', 'warnings']
# 2、
requests.get(
url="http://www.baidu.com",
headers="",
cookies="",
params={"k1":"v1","k2":"v2"},
# url ,
# http://www.baidu.com?k1=v1&k2=v2
)
requests.post(
url="",
headers="",
cookies="",
data={
},
params={"k1": "v1", "k2": "v2"},
# url ,
# http://www.baidu.com?k1=v1&k2=v2
)
# data , json
data = {
"username":"admin",
"pwd":"admin"
},
# username=admin&pwd=admin
# json
json = {
"username":"admin",
"pwd":"admin"
},
# {"username":"admin","pwd":"admin"}
#
#
proxies = {
"http":"61.24.25.21",
"https":"http://65.21.24.1"
}
# http http ,https https , proxies
l1 = requests.get(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
proxies = proxies
)
#
from requests.auth import HTTPProxyAuth
proxies = {
"http":"61.24.25.21",
"https":"http://65.21.24.1"
}
auth = HTTPProxyAuth("username","passwd")
# http http ,https https , proxies , auth,
l2 = requests.get(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
proxies = proxies,
auth = auth
)
# ,post , file
file= {
"f1":open("a.txt","rb")
}
l3 = requests.post(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
proxies = proxies,
auth = auth,
file = file
)
# ,
file= {
"f1":("new_file_name",open("a.txt","rb"))
}
l4 = requests.post(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
proxies = proxies,
auth = auth,
file = file
)
#
from requests.auth import HTTPBasicAuth
from requests.auth import HTTPDigestAuth
l5 = requests.get(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
proxies = proxies,
auth = HTTPBasicAuth("admin","admin")
)
#
l6 = requests.get(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
timeout = 2
)
# 2s,2s
#
l7 = requests.get(url="https://passport.lagou.com/login/login.html",
headers={
"user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36"
},
allow_redirects = False
)
# stream , , false,
from contextlib import closing
with closing(requests.get("http://ddddddd",stream=True)) as f:
for i in f.iter_content():
print(i)
# cert, , request cert
l8 = requests.get(url="https://passport.lagou.com/login/login.html",cert="xxx/xxx/xxx/xxx/pem")
l9 = requests.get(url="https://passport.lagou.com/login/login.html",cert=("xxx/xxx/xxx/xxx/pem","yyy/yyy/yyy.key"))
# session, cookies
import requests
session = requests.session()
i1 = session.get(url="")
i2 = session.post(
url="",
data={}
)
i3 = session.post()
----------------------------------------------------------
リクエストでpostリクエストを送信し、dataパラメータをいつ使用するか、jsonパラメータをいつ使用するか、パケットをつかむことで分析できます.
chromブラウザでは、データ形式はFormDataで、requestsでデータを送信する場合はdataでデータを送信します
chromブラウザでは、データ形式はRequest Payloadで、requestsで送信する場合はjsonでデータを送信します
伝達されたjson形式ですが、データに中国語があれば額は以下の方法でデータを送信できます.
data = bytes(json.dumps(
data_dict,
ensure_ascii=False
),encoding="utf-8")