Heim > Backend-Entwicklung > Python-Tutorial > Python-Anfragen – POST-Anfrage mit Headern und Text

Python-Anfragen – POST-Anfrage mit Headern und Text

PHPz
Freigeben: 2023-09-02 12:21:02
nach vorne
1418 Leute haben es durchsucht

Python 请求 - 带有标头和正文的 POST 请求

Pythons Anforderungsbibliothek ist ein leistungsstarkes Tool, das HTTP-Anfragen auf einfache und effiziente Weise stellen kann. Es bietet eine benutzerfreundliche Schnittstelle zum Senden von GET-, POST- und anderen Arten von Anforderungen an Webserver. Wenn Sie eine POST-Anfrage stellen, fügen Sie normalerweise Header und einen Anfragetext hinzu, die zusätzliche Informationen und Daten enthalten, die der Server verarbeiten soll.

In diesem Artikel erfahren Sie, wie Sie mithilfe der Anforderungsbibliothek eine POST-Anfrage mit Headern und Text erstellen. Wir stellen die grundlegenden Konzepte von Headern und Anforderungstexten vor, demonstrieren deren Verwendung in der Methode „requests.post()“ und diskutieren Best Practices für den Umgang mit Antworten und Fehlern.

Richten Sie die Umgebung ein

Bevor wir uns mit der Verwendung der Anforderungsbibliothek in Python befassen, um eine POST-Anfrage mit Headern und Anforderungstext zu erstellen, stellen wir sicher, dass unsere Umgebung korrekt eingerichtet ist. Hier sind die Schritte, die Sie befolgen müssen -

Anforderungsbibliothek installieren

  • Wenn Sie Python 3 oder höher verwenden, ist die Anforderungsbibliothek nicht mit der Standardbibliothek gebündelt, sodass Sie sie separat installieren müssen. Öffnen Sie ein Terminal oder eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:

pip install requests
Nach dem Login kopieren
  • Wenn Sie eine IDE oder einen Code-Editor mit integriertem Terminal verwenden, können Sie die Bibliothek direkt über das Terminal-Panel im Editor installieren.

Anforderungsmodul importieren

Stellen Sie nach der Installation der Bibliothek sicher, dass Sie das Anforderungsmodul am Anfang Ihres Python-Skripts oder in einer interaktiven Python-Umgebung importieren:

import requests
Nach dem Login kopieren

Wenn die Anforderungsbibliothek installiert und importiert ist, können Sie jetzt POST-Anfragen mit Headern und Anforderungstext stellen.

Im nächsten Abschnitt untersuchen wir, wie man die Header und den Anfragetext erstellt, und fahren dann mit der eigentlichen POST-Anfrage mithilfe der Methode „requests.post()“ fort.

Erstellen Sie Header und Anforderungstext

Um eine POST-Anfrage mit Headern und Anfragetext zu stellen, müssen wir die Header und den Text erstellen, bevor wir die Anfrage mit der Methode „requests.post()“ senden. Lassen Sie uns den Prozess Schritt für Schritt aufschlüsseln:

Kopfzeile erstellen

  • Kopfzeilen stellen zusätzliche Informationen zur Anfrage bereit, z. B. Authentifizierungsdaten, Inhaltstyp oder Benutzeragent. Wir können Header in eine POST-Anfrage einbinden, indem wir sie als Wörterbuch an den Headers-Parameter der Methode „requests.post()“ übergeben.

  • Um einen Header zu erstellen, erstellen Sie ein Wörterbuch mit den gewünschten Header-Namen als Schlüssel und den entsprechenden Werten als Werten. Hier ist ein Beispiel -

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_token_here'
}
Nach dem Login kopieren
  • Ersetzen Sie „application/json“ durch den für Ihre Anfrage geeigneten Inhaltstyp und „your_token_here“ durch Ihr tatsächliches Autorisierungstoken (falls erforderlich).

Anforderungstext erstellen

  • Der Anfragetext enthält die Daten, die wir als Teil der POST-Anfrage senden möchten. Es kann in verschiedenen Formaten vorliegen, z. B. JSON, Formulardaten oder einfacher Text. Die Wahl des Formats hängt von den Erwartungen des Servers ab.

  • Um den Anfragetext zu erstellen, erstellen Sie ein Wörterbuch oder eine Datenstruktur mit den erforderlichen Daten. Hier ist ein Beispiel mit dem JSON-Format -

import json

payload = {
    'name': 'John Doe',
    'email': 'johndoe@example.com'
}

json_payload = json.dumps(payload)
Nach dem Login kopieren
  • In diesem Beispiel erstellen wir mithilfe einiger Beispieldaten eine Wörterbuchnutzlast. Anschließend verwenden wir json.dumps(), um das Wörterbuch in eine JSON-String-Darstellung umzuwandeln, die zum Senden der JSON-Daten im Anforderungstext erforderlich ist.

Im nächsten Abschnitt werden wir die konstruierten Header und den Anfragetext zusammenfügen und die eigentliche POST-Anfrage mit der Methode „requests.post()“ erstellen.

Stellen Sie eine POST-Anfrage

Da wir nun die Header und den Anfragetext erstellt haben, können wir mit der eigentlichen POST-Anfrage mithilfe der Methode „requests.post()“ fortfahren. So geht's:

URL angeben

  • Geben Sie zunächst die URL an, an die Sie die POST-Anfrage senden möchten. Ersetzen Sie „https://api.example.com/endpoint“ im Snippet unten durch Ihre tatsächliche URL.

url = 'https://api.example.com/endpoint'
Nach dem Login kopieren

Stellen Sie eine POST-Anfrage

  • Verwenden Sie die Methode „requests.post()“, um eine POST-Anfrage zu senden. Übergeben Sie die URL, Header und den Anforderungstext als Parameter.

import requests

response = requests.post(url, headers=headers, data=json_payload)
Nach dem Login kopieren

Umgang mit Antworten

    Die Methode
  • requests.post() gibt ein Response-Objekt zurück, das die Antwort des Servers auf unsere Anfrage enthält.

  • Wir können über verschiedene Eigenschaften und Methoden des Response-Objekts auf den Antwortstatuscode, die Antwortheader und den Antworttext zugreifen. Hier ein Beispiel:

print(response.status_code)
print(response.headers)
print(response.text)
Nach dem Login kopieren

Fehlerbehandlung

  • Es ist wichtig, mögliche Fehler zu berücksichtigen, die bei der Bearbeitung von Anfragen auftreten können. Wenn die Anfrage nicht erfolgreich war (Statuscode >= 400), können Sie mit „response.raise_for_status()“ eine Ausnahme auslösen.

response.raise_for_status()
Nach dem Login kopieren

Indem Sie die folgenden Schritte ausführen, können Sie die Anforderungsbibliothek in Python verwenden, um effizient eine POST-Anfrage mit Headern und Anforderungstext zu erstellen.

带有标头和正文的 POST 请求

为了演示如何使用请求来发出带有标头和正文的 POST 请求,让我们考虑一个将 JSON 负载发送到 API 端点的示例。这是完整的代码

示例

import requests
import json

# Set up the URL
url = 'https://api.example.com/endpoint'

# Set up the headers
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_token'
}

# Set up the request body
payload = {
    'name': 'John Doe',
    'email': 'johndoe@example.com',
    'age': 30
}
json_payload = json.dumps(payload)

# Make the POST request
response = requests.post(url, headers=headers, data=json_payload)

# Check the response
if response.status_code == 200:
    print('Request successful!')
    print(response.json())
else:
    print('Request failed!')
    print(response.text)
Nach dem Login kopieren

让我们分解一下代码

  • 我们导入必要的模块 请求用于发出 HTTP 请求和 json 用于处理 JSON 数据

  • 我们设置要将 POST 请求发送到的 URL。

  • 我们定义标头,包括指定我们发送 JSON 数据的“Content-Type”标头以及“Authorization”标头(如果 API 需要)。

  • 我们将请求正文设置为 Python 字典,然后使用 json.dumps() 将其转换为 JSON 字符串。

  • 我们使用 requests.post() 发出 POST 请求,并将 URL、标头和请求正文作为参数传递。

  • 我们检查响应状态代码。如果是 200(表示请求成功),我们将打印响应 JSON。否则,我们将打印响应文本以识别任何错误。

此示例演示如何使用 Python 中的请求库发出带有标头和请求正文的 POST 请求。请随意根据您的具体要求自定义代码。

结论

在本文中,我们探讨了如何使用 Python 中的 requests 库发出带有标头和请求正文的 POST 请求。通过安装 requests 库并了解其依赖关系,我们了解了设置环境的重要性。

在本文中,我们探讨了如何使用 Python 中的 requests 库发出带有标头和请求正文的 POST 请求。通过安装 requests 库并了解其依赖关系,我们了解了设置环境的重要性。

然后,我们运行了一个完整的示例,演示了发送 JSON 有效负载作为请求正文并在请求中包含标头的过程。我们逐步浏览了代码并详细讨论了每个组件。

Das obige ist der detaillierte Inhalt vonPython-Anfragen – POST-Anfrage mit Headern und Text. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage