Heim > Backend-Entwicklung > Python-Tutorial > Ein Anfänger -Leitfaden für HTTP -Python -Anfragen

Ein Anfänger -Leitfaden für HTTP -Python -Anfragen

Christopher Nolan
Freigeben: 2025-02-18 09:56:10
Original
492 Leute haben es durchsucht

A Beginner's Guide to HTTP Python Requests

Alle Inhalte im Netzwerk sind über Anforderung zugänglich. Wenn Ihre Python -Anwendung Webinformationen benötigt, müssen Sie eine Webanforderung stellen. Dieser Artikel wird in Python -Anfragen eintauchen. Wir werden die Struktur von Webanfragen kennenlernen und wie man Python -Anfragen erstellt. Letztendlich können Sie die Python Request Library verwenden, die den gesamten Prozess erheblich erleichtert.

Schlüsselpunkte

  • HTTP (Hypertext-Transferprotokoll) ist ein Client-Server-Protokoll, das zum Austausch von Daten im Web verwendet wird. Es verwendet TCP als Transportprotokoll für einen zuverlässigen Transport. HTTP -Anforderungen werden vom Client initiiert und vom Server verarbeitet, und der Server gibt die entsprechende Antwort zurück. HTTP ist ein Staural, was bedeutet, dass zwischen zwei aufeinanderfolgenden Anfragen keine Assoziation besteht.
  • Die Bibliothek von Python fordert
  • . Es wird die Komplexität der Anfragen abstrahiert und eine benutzerfreundliche Schnittstelle bietet. Diese Bibliothek ermöglicht das Senden von Python -HTTP -Anforderungen von Basic nach Komplexität. Es kann mit PIP installiert werden und wird verwendet, um GET -Anforderungen, Prozessstatuscodes, Reaktionsbehörde zu lesen und mit der API zu interagieren.
  • HTTP -Header liefert zusätzliche Informationen in der HTTP -Kommunikation. Sie können in der Python -Anforderungsbibliothek angepasst werden, um zusätzliche Informationen zum Absender oder zur Nachricht bereitzustellen. Der Benutzer-Agent-Header bietet beispielsweise Informationen über den Client, der die Anfrage erstellt, während der Akzept-Sprache eine Sprache vermittelt, die der Kunde verstehen kann.

Einführung in die HTTP -Anforderung

Um Daten im Web auszutauschen, benötigen wir zunächst ein Kommunikationsprotokoll. Das Protokoll, das wir beim Surfen des Webs verwenden, ist Hypertext -Transferprotokoll oder HTTP. HTTP verwendet TCP als Transportprotokoll, da es zuverlässiger Transport benötigt und nur TCP dies garantieren kann.

Angenommen, wir benötigen eine Ressource - wie eine HTML -Seite auf einem Webserver, das sich irgendwo auf der Welt befindet. Wir möchten auf diese Ressource zugreifen, oder mit anderen Worten, wir möchten die Seite in unserem Webbrowser anzeigen. Das erste, was wir tun müssen, ist HTTP -Anfragen. HTTP ist ein Client-Server-Protokoll, was bedeutet, dass Anfragen vom Client initiiert werden.

Nach Empfang der Anforderung verarbeitet der Server sie und gibt die entsprechende Antwort zurück.

Die Antwortmethode des Servers kann variieren. Es kann die von uns angeforderte Ressource senden oder auf den Statuscode antworten, wenn eine unerwartete Situation auftritt.

In jedem Kommunikationsprotokoll müssen sich die Informationen in einem bestimmten Bereich befinden. Dies liegt daran, dass sowohl der Client als auch der Server wissen sollten, wie die Anfrage oder Antwort interpretiert werden sollte. Im nächsten Abschnitt erfahren wir, wie HTTP -Anfragen und HTTP -Antworten erstellt werden. Wir werden auch die Rolle der wichtigsten Bereiche diskutieren.

http request

Eines der wichtigsten Designmerkmale von HTTP ist, dass es menschlich lesbar ist. Dies bedeutet, dass wir, wenn wir uns HTTP -Anfragen ansehen, alles auch mit viel Komplexität unten leicht lesen können. Ein weiteres Merkmal von HTTP ist, dass es staatenlos ist. Dies bedeutet, dass es keinen Zusammenhang zwischen zwei aufeinanderfolgenden Anfragen gibt. Das HTTP -Protokoll erinnert sich an keine früheren Anforderungen. Dies bedeutet, dass jede Anfrage alles enthalten muss, was der Server für die Anforderung benötigt.

Eine gültige HTTP -Anforderung muss die folgenden Elemente enthalten:

  • HTTP -Methode - zum Beispiel erhalten oder post
  • Version des HTTP -Protokolls
  • Pfad der Ressource zu erhalten

Wir können dann einige optionale Header hinzufügen, die zusätzliche Informationen zum Absender oder zur Nachricht angeben. Beispiele für gemeinsame HTTP-Anforderungsheader sind Benutzer-Agent oder die bevorzugte natürliche Sprache des Kunden. Beide optionalen Header geben Informationen über den Kunden an, der die Anfrage erstellt.

Dies ist ein HTTP -Nachrichtenbeispiel, in dem wir alle angegebenen Felder klar verstehen können:

<code>~~~http
GET / HTTP/1.1
Host: www.google.com
Accept-Language: en-GB,en;q=0.5
~~~</code>
Nach dem Login kopieren
Nach dem Login kopieren

Die erste Zeile gibt den Anforderungsart und die Version des HTTP -Protokolls an. Wir geben dann den Host und die Sprache an, die der Kunde die Anfrage annimmt. Normalerweise sind Nachrichten viel länger, aber dies kann zu ihrem Erscheinungsbild führen.

http response

Jetzt, da wir verstehen, wie die HTTP -Anfrage aussieht, können wir weiterhin die HTTP -Antwort anzeigen.

HTTP -Antworten enthalten normalerweise die folgenden Elemente:

  • Version des HTTP -Protokolls
  • Statuscode mit beschreibender Kurznachricht
  • HTTP -Headerliste
  • Die Nachrichtenbehörde enthält die Anforderungsressource

Jetzt, da wir die Grundelemente vorgestellt haben, die Sie benötigen, lohnt es sich, vor dem nächsten Schritt zusammengefasst zu werden. Es sollte nun klar sein, dass ein Client, wenn er mit einem HTTP -Server kommunizieren möchte, eine HTTP -Anforderung erstellen und senden muss. Wenn der Server ihn empfängt, wird eine HTTP -Antwort erstellt und sendet.

Wir sind endlich bereit, die Python Request Library vorzustellen.

Python fordert die Bibliothek

an

Mit der Python Request -Bibliothek können Sie Python HTTP -Anforderungen senden - von grundlegenden Anfragen bis hin zu komplexen Anfragen. Die Python fordert Bibliothek an, die Komplexität der Erstellung komplexer Python-Anfragen abstrahiert und eine benutzerfreundliche Schnittstelle bietet. Im nächsten Abschnitt lernen wir, wie Sie eine einfache Python -Anfrage erstellen und die Antwort interpretieren. Wir werden auch einige der Funktionen der Python Request Library kennenlernen.

Python Requests

installieren

Zunächst müssen wir die Python Request Library installieren. Installieren wir es mit PIP:

<code>$ pip install requests</code>
Nach dem Login kopieren
Nach dem Login kopieren

Nachdem die Python -Anforderungsbibliothek ordnungsgemäß installiert wurde, können wir sie verwenden.

Senden Sie unsere erste Get -Anfrage mit Python -Anforderungen

Erstens müssen wir eine Python -Datei erstellen. In diesem Beispiel nennen wir es Web.py. Fügen Sie in dieser Quelldatei den folgenden Code ein:

<code>import requests

URL = "https://www.google.com"
resp = requests.get(URL)

print(resp)</code>
Nach dem Login kopieren

Dieses Programm gibt eine Get -Anfrage an Google aus. Wenn wir dieses Programm ausführen, erhalten wir möglicherweise die folgende Ausgabe:

<code>$ python web.py
<response></response></code>
Nach dem Login kopieren

Was bedeutet das?

Wir haben schon einmal Statuscodes besprochen. Diese Ausgabe zeigt uns, dass unsere Anfrage erfolgreich empfangen, verstanden und verarbeitet wurde. Es gibt andere Codes, wir können einige der häufigsten Codes auflisten:

  • 301 bewegte sich dauerhaft. Dies ist eine Weiterleitungsnachricht. Die URL der Ressource, nach der wir suchen, wurde bewegt. Die neue URL wird mit einer Antwort geliefert.
  • 401 nicht autorisiert. Dies zeigt eine Client -Fehlerantwort an. In diesem Fall teilt uns der Server mit, dass wir authentifizieren müssen, bevor wir die Anfrage weiter ausstellen können.
  • 404 nicht gefunden. Dies zeigt auch die Fehlerantwort des Clients an. Dies bedeutet insbesondere, dass der Server die gesuchte Ressource nicht finden kann.

Was ist, wenn wir den Status bedingt überprüfen und unterschiedliche Vorgänge gemäß dem Statuscode angeben möchten? Wir können das leicht tun:

<code>~~~http
GET / HTTP/1.1
Host: www.google.com
Accept-Language: en-GB,en;q=0.5
~~~</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn wir das Skript jetzt ausführen, erhalten wir unterschiedliche Ergebnisse. Probieren Sie es aus und sehen Sie, was wir bekommen. ?

Wenn wir auch die beschreibende Kurznachricht benötigen, die mit jedem Statuscode geliefert wird, können wir resp.reason verwenden. Für den 200 -Status -Code werden wir einfach in Ordnung.

Überprüfen Sie die Antwort der Python -Anfrage

Zu diesem Zeitpunkt wissen wir, wie man grundlegende Python -Anfragen erstellt. Nach der Anfrage müssen wir antworten, oder?

Im vorherigen Abschnitt haben wir gesehen, wie man den Statuscode für die Antwort erhält. Jetzt möchten wir den Körper der Antwort lesen, d. H. Die tatsächliche Ressource, die wir angefordert haben. Dazu müssen wir resp.content verwenden. Angenommen, wir suchen nach der Google -Homepage.

Wenn wir das Skript ausführen, erhalten wir Folgendes:

<code>$ pip install requests</code>
Nach dem Login kopieren
Nach dem Login kopieren

Ich habe [...] hinzugefügt, weil die von uns erhaltene Ressource (ein Text/HTML -Dokument) zu lang war, um gedruckt zu werden. Wie lange ist es? Wir können len(resp.content) verwenden, um diese Informationen zu erhalten. Im obigen Beispiel sind es 13931 Bytes - hier muss zu viele gedruckt!

(Der folgende Inhalt ist durch den Raum begrenzt, nur die Zusammenfassung wird beibehalten. Weitere Informationen finden Sie im Originaltext)

api

Einer der Gründe, warum die Python -Anfragebibliothek so beliebt ist, ist, dass die Interaktion mit der API sehr einfach macht. In diesem Fall werden wir eine einfache API verwenden, um das Alter einer Person angesichts ihres Namens vorherzusagen. Diese API heißt Agify.

Benutzerdefinierte Header

Der HTTP -Header bietet beiden Parteien zusätzliche Informationen zur HTTP -Kommunikation. Im folgenden Beispiel werden wir sehen, wie der Header einer HTTP -GET -Anfrage geändert wird. Insbesondere werden wir die Benutzer-Agent ändern und die Sprachüberschriften akzeptieren. User-Agent teilt dem Server einige Informationen über die Anwendung, das Betriebssystem und den Anbieter mit, die den Agenten anfordern. Der Akzept-Sprache-Header vermittelt eine Sprache, die der Kunde verstehen kann.

Schlussfolgerung

In diesem Artikel diskutieren wir das HTTP -Protokoll und geben eine kurze theoretische Einführung. Wir schauten uns dann die Python -Anfragebibliothek an. Wir haben gelernt, wie man grundlegende Python -HTTP -Anfragen schreibt und wie man sie entsprechend unseren Bedürfnissen anpasst.

FAQs über HTTP -Anforderungen in Python

(Der folgende Inhalt ist nur aufgrund von Platzbeschränkungen reserviert. Weitere Informationen finden Sie im Originaltext)

  • Was ist die Anfragebibliothek in Python?
  • Wie installiere ich die Anforderungsbibliothek?
  • Wie kann ich eine einfache Get -Anfrage verwenden, indem Sie Anfragen verwenden?
  • Wie behandle ich Abfrageparameter in GET -Anforderungen?
  • Wie stelle ich eine Postanforderung mit Anforderungen an?

Das obige ist der detaillierte Inhalt vonEin Anfänger -Leitfaden für HTTP -Python -Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage