Dieser Artikel basiert auf offiziellen Dokumenten und die Datenschnittstellen werden alle in offiziellen Dokumenten bereitgestellt
Gemäß der offizielles Dokument, Anfragen ist eine Non-GMO Python HTTP-Bibliothek. Leistungsstarke Funktionen und prägnante Syntax. Man kann sagen, dass Anfragen beim Schreiben von Webprogrammen in Python unvermeidlich sind.
Obwohl Anfragen einfach zu verwenden sind, müssen die meisten Funktionen nicht häufig verwendet werden. Es ist jedoch umständlicher, die Dokumentation zu überprüfen, wenn Sie sie verwenden müssen. Deshalb möchte ich auch eine Sortierung und Zusammenfassung vornehmen. Es ist praktisch für Sie und andere. Im Anhang finden Sie die offizielle Adresse des Dokuments. code >Variablen, Anfragen erstellen automatisch die entsprechende URL.
# 安装。注意,千万别安装成request,别少了末尾的spip install resquests复制代码
Gibt die Bytes (Binärdaten) des Antwortinhalts überGibt die Unicode-Daten des Antwortinhalts über
text
zurück. Anfragen dekodieren automatisch Inhalte vom Server.import requests复制代码Nach dem Login kopieren
content
zurück. r = requests.get('http://httpbin.org/get')# post带参r = requests.post('http://httpbin.org/post', data={'key': 'value'}) r = requests.put('http://httpbin.org/put', data={'key': 'value'}) r = requests.delete('http://httpbin.org/delete') r = requests.head('http://httpbin.org/get') r = requests.options('http://httpbin.org/get')复制代码
json()
. payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("http://httpbin.org/get", params=payload)# 注意,字典里值为的None的键并不会被拼接到URL中# 同时,你还可以将列表作为值进行传入payload = {'key1': 'value1', 'key2': ['value2', 'value3']} r = requests.get('http://httpbin.org/get', params=payload) print(r.url)>>> http://httpbin.org/get?key1=value1&key2=value2&key2=value3复制代码
dict
an den Parameter headers
# 在需要读取文本信息时,可使用text进行获取r = requests.get('http://httpbin.org/get') r.text复制代码
params
变量,requests会自动构建好对应的URL。
# 在需要获取文件时,可通过content获取# 例如获取一张图片并保存r = requests.get('http://httpbin.org/get/xxx.jpg')with open('example.jpg', 'wb') as img: img.write(r)复制代码
通过text
返回响应内容的Unicode型数据。requests会自动解码来自服务器的内容。
import requests r = requests.get('http://httpbin.org/get') r.json()复制代码
通过content
返回响应内容的bytes型(二进制)数据。
# HTTP头部大小写是不敏感的headers = { 'token': token, 'content-type': 'application/json'} url = 'http://httpbin.org/get'r = requests.get(url, headers=headers)复制代码
通过json()
处理响应的json数据。
url = 'http://httpbin.org/get'body = {'data': data} r = requests.post(url, data=json.dumps(body))复制代码
为请求添加头部,只需要传递dict
给headers
参数即可
url = 'http://httpbin.org/get'body = {'data': data} r = requests.post(url, json=body)复制代码
在post请求带有请求体时,可以使用json
模块对数据进行编码
url = 'http://httpbin.org/post'files = {'file': open('report.xls', 'rb')} r = requests.post(url, files=files)# 同时,可以显式地设置文件名、文件类型和请求头url = 'http://httpbin.org/post'files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})} r = requests.post(url, files=files)复制代码
除了使用json
进行编码外,还可以直接对json
参数进行传值
url = 'http://httpbin.org/cookies'cookies = dict(cookies_are='working') r = requests.get(url, cookies=cookies)# 在跨域使用时,可以通过RequestsCookieJar进行域名和路径的定义jar = requests.cookies.RequestsCookieJar() jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies') jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere') url = 'http://httpbin.org/cookies'r = requests.get(url, cookies=jar)复制代码
使用open
方法以二进制形式读取文件后,即可方便地进行文件上传
r = requests.get('http://httpbin.org/get') r.status_code>>> 200# requests内置一个状态码查询对象print(r.status_code == requests.codes.ok)>>> True# 如果发生了4xx或者5xx的错误响应,可以使用raise_for_status()函数来抛出异常bad_r = requests.get('http://httpbin.org/status/404') bad_r.status_code>>> 404bad_r.raise_for_status()# 如果请求没有发生错误,则raise_for_status()返回None复制代码
可通过给参数cookies
传参进行cookie的传递
r = requests.get('http://httpbin.org/get') r.headers>>> { 'content-encoding': 'gzip', 'transfer-encoding': 'chunked', 'connection': 'close', 'server': 'nginx/1.0.4', 'x-runtime': '148ms', 'etag': '"e1ca502697e5c9317743dc078f67693f"', 'content-type': 'application/json' } # 同时,我们可以通过任意大小写形式来访问这些响应头字段r.headers['Content-Type']>>> 'application/json'r.headers.get('content-type')>>> 'application/json'复制代码
通过status_code
获取响应状态码
url = 'http://example.com/some/cookie/setting/url'r = requests.get(url) r.cookies['example_cookie_name']>>> 'example_cookie_value'复制代码
通过headers
获取响应头
# 例如Github 将所有的HTTP请求重定向到HTTPSr = requests.get('http://github.com') r.url>>> 'https://github.com/'r.status_code>>> 200# 如果使用的时GET、OPTIONS、POST、PUT、PATCH、DELETE请求时,可以通过设置allow_redirects=False来禁用重定向r = requests.get('http://github.com', allow_redirects=False) r.status_code>>> 301# 也可以通过设置allow_redirects=True来启用HEAD请求的重定向r = requests.head('http://github.com', allow_redirects=True)复制代码
通过cookies
获取cookie数据
默认情况下,除了HEAD请求,requests会自动处理所有重定向
可以通过history
Wenn die Post-Anfrage einen Anfragetext hat, können Sie das json
-Modul verwenden, um die Daten zu kodieren
json
direkt übergebenopen
die Datei in binärer Form gelesen hat, können Sie die Datei einfach hochladenrrreeeCookie-Daten überCookies senden
Sie können den Parameter übergeben
cookies code>Übergeben Sie Parameter, um Cookies zu übergeben
rrreeeAntwortinformationen abrufenAntwortstatuscode abrufen über
status_code
rrreeeÜber headers code>Antwortheader abrufenrrreee
cookies
abrufen🎜rrreeehistory
-Methode verfolgen🎜rrreee🎜Abschließend🎜🎜Dieser Artikel ist eine Zusammenfassung der grundlegenden Verwendung von Anfragen. Später werden wir auf die offizielle Dokumentation verweisen, um einige fortgeschrittene Verwendungszwecke zusammenzufassen. Lassen Sie uns die fortgeschrittene Verwendung von Anforderungen klären. Die kompetente Verwendung von Anforderungen führt dazu, dass Sie bei der Webentwicklung das Doppelte des Ergebnisses mit halbem Aufwand erzielen. 🎜🎜🎜🎜Verwandte kostenlose Lernempfehlungen: 🎜🎜🎜Python-Video-Tutorial🎜🎜🎜🎜Das obige ist der detaillierte Inhalt vonZusammenfassung und Zusammenfassung 1: Verwendung von Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!