suchen
HeimBackend-EntwicklungPython-TutorialEin Anfänger -Leitfaden für HTTP -Python -Anfragen

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>

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>

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>

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>

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>

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>

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!

Stellungnahme
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
Wie schneiden Sie eine Python -Liste?Wie schneiden Sie eine Python -Liste?May 02, 2025 am 12:14 AM

SlicingPapythonListisDoneUsingthesyntaxlist [Start: Stop: Stufe] .here'Showitworks: 1) StartIndexoFtheFirstelementtoinclude.2) stopiStheIndexoFtheFirstelementtoexclude.3) StepisTheincrementBetweenelesfulFulForForforexcractioningPorporionsporporionsPorporionsporporesporsporsporsporsporsporsporsporsporionsporsPorsPorsPorsPorsporsporsporsporsporsporsAntionsporsporesporesporesporsPorsPorsporsPorsPorsporsporspors,

Was sind einige gängige Operationen, die an Numpy -Arrays ausgeführt werden können?Was sind einige gängige Operationen, die an Numpy -Arrays ausgeführt werden können?May 02, 2025 am 12:09 AM

Numpyallowsforvariousoperationssonarrays: 1) BasicarithmeticliKeaddition, Subtraktion, Multiplikation und Division; 2) AdvancedoperationssuchasmatrixMultiplication;

Wie werden Arrays in der Datenanalyse mit Python verwendet?Wie werden Arrays in der Datenanalyse mit Python verwendet?May 02, 2025 am 12:09 AM

Arraysinpython, insbesondere ThroughNumpyandpandas, areessentialfordataanalyse, öfterspeedandeffizienz.1) numpyarraysenableAnalysHandlingoflargedatasets und CompompexoperationslikemovingAverages.2) Pandasextendsnumpy'ScapaBilitiesWithDaTataforsForstruc

Wie vergleicht sich der Speicherpflichtiger einer Liste mit dem Speicher Fußabdruck eines Arrays in Python?Wie vergleicht sich der Speicherpflichtiger einer Liste mit dem Speicher Fußabdruck eines Arrays in Python?May 02, 2025 am 12:08 AM

ListsandNumPyarraysinPythonhavedifferentmemoryfootprints:listsaremoreflexiblebutlessmemory-efficient,whileNumPyarraysareoptimizedfornumericaldata.1)Listsstorereferencestoobjects,withoverheadaround64byteson64-bitsystems.2)NumPyarraysstoredatacontiguou

Wie behandeln Sie umgebungsspezifische Konfigurationen, wenn Sie ausführbare Python-Skripte bereitstellen?Wie behandeln Sie umgebungsspezifische Konfigurationen, wenn Sie ausführbare Python-Skripte bereitstellen?May 02, 2025 am 12:07 AM

TensurepythonscriptsBehavectelyAcrossdevelopment, Staging und Produktion, UsethesStrategien: 1) Umweltvariablenforsimplesettings, 2) configurationFilesForComplexSetups und 3) dynamikloadingForAdaptability.eachMethodofferiqueNefits und Requiresca

Wie schneiden Sie ein Python -Array?Wie schneiden Sie ein Python -Array?May 01, 2025 am 12:18 AM

Die grundlegende Syntax für die Python -Liste ist die Liste [START: STOP: STEP]. 1.Start ist der erste Elementindex, 2.Stop ist der erste Elementindex, und 3.Step bestimmt die Schrittgröße zwischen den Elementen. Scheiben werden nicht nur zum Extrahieren von Daten verwendet, sondern auch zum Ändern und Umkehrlisten.

Unter welchen Umständen könnte Listen besser abschneiden als Arrays?Unter welchen Umständen könnte Listen besser abschneiden als Arrays?May 01, 2025 am 12:06 AM

ListSoutPer -CharakterArraysin: 1) Dynamics und Dynamics und 3), 2) StoringHeterogenData und 3) MemoryefficiencyForSparsedata, ButmayHavesLightPerformanceCostIncustonTectorationOperationen.

Wie können Sie ein Python -Array in eine Python -Liste konvertieren?Wie können Sie ein Python -Array in eine Python -Liste konvertieren?May 01, 2025 am 12:05 AM

Toconvertapythonarraytoalist, Usethelist () constructororageneratorexpression.1) ImportThearrayModuleandCreateanarray.2) Uselist (arr) oder [xForxinarr] Toconvertittoalist in Betracht, überlegt Performance undMoryefficiencyForlargedatasets.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version