Verwenden Sie das Anforderungsmodul, um Formulardaten in Python zu veröffentlichen

Migel Hewage Nimesha 15 Februar 2024
Verwenden Sie das Anforderungsmodul, um Formulardaten in Python zu veröffentlichen

Dieses Tutorial beschreibt das Python-Modul requests und veranschaulicht, wie wir dieses Modul verwenden können, um Formulardaten in Python zu veröffentlichen.

Verwenden Sie das requests-Modul, um Formulardaten in Python zu veröffentlichen

Python kann für den Zugriff auf Webseiten und auch zum Posten von Inhalten auf den Webseiten verwendet werden.

Unabhängig davon, ob es verschiedene Module wie httplib, urllib, httplib2 usw. gibt, das requests-Modul in Python ist das einfachste und kann mächtige Programme mit GET- und POST-Methoden schreiben.

Die Bibliothek requests ist einer der Hauptaspekte von Python zum Erstellen von HTTP-Anfragen an eine definierte URL.

Einführung in die Anforderungsmethode POST

Das World Wide Web HTTP unterstützt die Anfragemethode POST. Betrachtet man das Format, fordert die Anforderungsmethode POST, dass ein Webserver die im Hauptteil der Anforderungsnachricht enthaltenen Daten akzeptiert und sie anscheinend speichert.

Wir verwenden es oft, um eine Datei hochzuladen oder ein fertiges Webformular zu übermitteln. Zum Beispiel sendet post() eine POST-Anforderung an eine bestimmte URL. Wir können es auch verwenden, wenn wir einige Daten an den Server senden müssen.

Wichtige Fakten zur Anfrage POST

  • Es gibt keine Einschränkungen hinsichtlich der Datenlänge und wird nach Bedarf eingestellt.
  • Es lebt nicht im Browserverlauf.
  • Es wird nie zwischengespeichert.
  • Es darf kein Lesezeichen sein.

Installation des Moduls requests in Python

Das Modul requests, das für die Verwendung der Methode post() benötigt wird, kann mit folgendem Befehl installiert werden:

python -m pip install requests

ODER

pip install requests

Wir können den folgenden Befehl verwenden, wenn pipenv Python-Pakete verwaltet.

pipenv install requests

Sobald das Modul Anfragen installiert ist, kann es importiert und im Programm wie folgt verwendet werden:

import requests

Nun, wie verwendet man die Methode requests.post()? Was ist die Syntax dafür? Lass es uns unten lernen.

Syntax:

requests.post(url, data={key: value}, json={key: value}, args)

Hier ist args gleich 0 oder mehr der genannten Argumente als die folgenden Parameter:

Parameter Beschreibung
url Die URL der Anfrage ist ein wichtiger Bestandteil.
data Optional. Ein Wörterbuch, eine Liste von Tupeln, Bytes oder ein Dateiobjekt werden an die angegebene URL gesendet.
json Optional. Ein JSON-Objekt zum Weiterleiten an die angegebene URL.
files Optional. Ein Verzeichnis mit Dateien, die an die angegebene URL übergeben werden.
allow_redirects Optional. Ein boolescher Wert zum Aktivieren oder Deaktivieren der Umleitung. Der Standardwert ist True, was bedeutet, dass Weiterleitungen erlaubt sind.
auth Optional. Ein Tupel zum Aktivieren einer bestimmten HTTP-Authentifizierung. Der Standardwert ist Keine.
cert Eine Zeichenfolge oder ein Tupel, das eine Cert-Datei oder einen Schlüssel angibt. Optional, wobei der Standardwert None ist.
cookies Das an die angegebene URL zu sendende Cookie-Wörterbuch ist optional, und der Standardwert ist None.
headers Optional, Standard None, ein Wörterbuch von HTTP-Headern, die an die definierte URL gesendet werden.
proxies Optional, Standard None, ein Protokollwörterbuch zur Proxy-URL.
stream Eine boolesche Angabe der Antwort, entweder False (heruntergeladen) oder True (gestreamt). Optional, Standard False.
timeout Optional, eine Zahl, die die Zeit angibt, die gewartet wurde, bis der Client eine Verbindung hergestellt und/oder eine Antwort gesendet hat. Der Standardwert ist Keine. Dies bedeutet, dass die Anfrage fortgesetzt wird, bis die Verbindung geschlossen wird.
verify Eine boolesche oder Zeichenfolgenangabe, um das TLS-Zertifikat des Servers zu überprüfen/nicht. Optional. Der Standardwert ist True.

Anwendungen der post()-Methode

Der folgende Codezaun demonstriert die Verwendung der post()-Methode, bei der der Benutzer Daten über die post()-Methode auf der httpbin-Website postet und eine Antwort darüber erhält, wie sie gepostet wurden.

import requests

values = {"username": "user", "password": "test"}
result = requests.post("https://httpbin.org/post", data=values)
print(result.text)

Ausgang:

Verwenden Sie das Anforderungsmodul, um Formulardaten in Python zu veröffentlichen - Anforderungsbild eins

Es wird ein Antwortobjekt empfangen, das viele Informationen enthält. Zuerst das Formularobjekt mit den Schlüsseln und Werten, wobei Benutzername Benutzer und Passwort test ist. Dann enthält das Header-Objekt einige Eigenschaften: Next, JSON, origin und URL.

Um eine mehrteilig kodierte Datei zu posten, stellen Sie eine mehrteilige POST-Anfrage, indem Sie eine Datei mit der Dateieigenschaft der post()-Methode an den Server senden.

import requests

files = {"file": open("test.txt", "rb")}
url = "https://httpbin.org/post"
result = requests.post(url, files=files)

print(result.text)

Ausgang:

Verwenden Sie das Anforderungsmodul, um Formulardaten in Python zu veröffentlichen - Anforderungsbild zwei

Als Ausgabe wurde ein leeres Datenobjekt zurückgegeben und das Dateiobjekt erhalten, ein Dateiattribut, dessen Wert der Inhalt der Datei ist (der Inhalt der Datei test.txt, die im Arbeitsverzeichnis Test Text erstellt wurde).

Um POST-Anfragen innerhalb einer Sitzung zu stellen, setzen Sie ein Cookie auf eine URL und stellen Sie dann erneut eine Anfrage, um zu prüfen, ob das Cookie gesetzt ist. Sitzungen sind auch hilfreich, wenn ein Benutzer dieselben Daten für alle Anforderungen senden muss. Zum Beispiel:

import requests

s = requests.Session()
s.cookies.update({"month-visit": "July"})

request01 = s.get("http://httpbin.org/cookies")
print(request01.text)
# outputs details on the "month-visit" cookie

request02 = s.get("http://httpbin.org/cookies", cookies={"year-visit": "2022"})
print(request02.text)
# outputs details on "month-visit" and "year-visit" cookie

request03 = s.get("http://httpbin.org/cookies")
print(request03.text)
# outputs details on the "month-visit" cookie

Ausgang:

Verwenden Sie das Anforderungsmodul, um Formulardaten in Python zu veröffentlichen - Anforderungsbild drei

Wie in der Ausgabe wird bei allen drei Anfragen das Session-Cookie month-visit übergeben. Aber das year-visit-Cookie wird nur bei der zweiten Anfrage weitergegeben.

In der dritten Anfrage gibt es kein year-visit-Cookie. Daher wird bestätigt, dass die Cookies oder andere Datensätze, die bei einzelnen Anfragen gesetzt wurden, nicht mit anderen Sitzungsanfragen weitergegeben werden.

Wenn man die Vorteile der post()-Methode betrachtet, ist sie sicherer als die GET-Methode, da die vom Benutzer eingegebenen Informationen niemals in der URL-Abfragezeichenfolge oder in den Serverprotokollen sichtbar sind.

Es gibt eine viel größere Grenze für die Datenmenge, die wir senden können, und eine Person kann einen Text oder binäre Daten senden, z. B. das Hochladen einer Datei mit der POST-Methode.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - Python Requests