Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung und Zusammenfassung 1: Verwendung von Anfragen

Zusammenfassung und Zusammenfassung 1: Verwendung von Anfragen

coldplay.xixi
coldplay.xixinach vorne
2020-11-19 17:17:553967Durchsuche

Python-Video-TutorialDie Spalte fasst die Verwendung von Anfragen zusammen

Zusammenfassung und Zusammenfassung 1: Verwendung von Anfragen

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复制代码

Antwortinhalt

Gibt die Unicode-Daten des Antwortinhalts über text zurück. Anfragen dekodieren automatisch Inhalte vom Server.

import requests复制代码
Gibt die Bytes (Binärdaten) des Antwortinhalts über 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')复制代码

Verarbeiten Sie die JSON-Antwortdaten über 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复制代码

Anfrage-Header anpassen

Fügen Sie der Anfrage Header hinzu, übergeben Sie einfach dict an den Parameter headers

# 在需要读取文本信息时,可使用text进行获取r = requests.get('http://httpbin.org/get')
r.text复制代码

POST sendet Nicht-Formulardaten

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))复制代码

定制请求头

为请求添加头部,只需要传递dictheaders参数即可

url = 'http://httpbin.org/get'body = {'data': data}
r = requests.post(url, json=body)复制代码

POST发送非表单形式数据

在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)复制代码

通过POST上传文件

使用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复制代码

发送cookie

可通过给参数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数据

rrreee

重定向与请求历史

默认情况下,除了HEAD请求,requests会自动处理所有重定向
可以通过historyWenn die Post-Anfrage einen Anfragetext hat, können Sie das json-Modul verwenden, um die Daten zu kodieren

rrreee

Zusätzlich zu Mit json können Sie auch den Wert des Parameters json direkt übergeben

rrreee

Dateien per POST hochladen

Verwenden Sie open die Datei in binärer Form gelesen hat, können Sie die Datei einfach hochladen
rrreee

Cookies senden

Sie können den Parameter übergeben cookies code>Übergeben Sie Parameter, um Cookies zu übergebenrrreee

Antwortinformationen abrufenAntwortstatuscode abrufen über status_coderrreeeÜber headers code>Antwortheader abrufenrrreee

Cookie-Daten über cookies abrufen🎜rrreee

Umleitung und Anforderungsverlauf🎜🎜Standardmäßig Mit Ausnahme von HEAD-Anfragen werden Anfragen alle Weiterleitungen automatisch verarbeiten🎜Sie können Weiterleitungen über die history-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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen