Zum Fußzeileninhalt springen
PYTHON-HILFE

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler)

HTTPX ist ein moderner, voll ausgestatteter HTTP-Client für Python, der sowohl synchrone als auch asynchrone APIs bietet. Diese Bibliothek bietet hohe Effizienz bei der Bearbeitung von HTTP-Anfragen. Mehrere Funktionen dieser Bibliothek erweitern traditionelle Bibliotheken wie Requests; daher ist sie leistungsfähiger, da sie HTTP/2, Verbindungspooling und Cookie-Verwaltung unterstützt.

Integriert mit IronPDF, einer umfassenden .NET-Bibliothek zum Erstellen und Bearbeiten aller PDF-Dokumente, kann HTTPX Daten von Web-APIs oder sogar Websites abrufen und diese abgerufenen Daten in lange, schön formatierte PDF-Berichte umwandeln. Mit der Fähigkeit von IronPDF, aus HTML, Bildern und einfachem Text ein PDF zu erzeugen und sogar erweiterte Funktionen wie das Hinzufügen von Kopf- und Fußzeilen sowie Wasserzeichen zu unterstützen, kann man professionelle, gut aussehende Dokumente erstellen. Die Integration ist komplett: von der Datenabfrage bis zur Berichterstellung bietet sie eine effiziente Möglichkeit, Erkenntnisse in polierter Form zu kommunizieren.

Was ist Httpx python?

HTTPX ist ein moderner und zukunftsweisender HTTP-Client für Python, der einige coole Nutzungsmöglichkeiten der beliebten Requests-Bibliothek übernimmt und mit Unterstützung für synchrone und asynchrone APIs kombiniert. Es zielt darauf ab, komplexe HTTP-Aufgaben mit verschiedenen fortgeschrittenen Funktionalitäten wie HTTP/2-Unterstützung, Verbindungspooling oder sogar automatischer Cookie-Verwaltung zu lösen. HTTPX ermöglicht es Entwicklern, mehrere verschiedene HTTP-Anfragen gleichzeitig zu senden und dadurch die Leistung einer Anwendung zu erhöhen, insbesondere in Fällen, in denen webbasierte Interaktionen die Hauptfunktionalitäten darstellen.

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 1 - HTTPX-Startseite

Es bietet eine hervorragende Interoperabilität mit der Requests-Bibliothek und bietet einen einfachen Upgrade-Pfad für Entwickler, die ihren HTTP-Client aufrüsten und auf komplexere Features zugreifen möchten. HTTPX ist ein flexibles Werkzeug für die moderne Python-Entwicklung; es eignet sich gut für Aufgaben, die von einfachen HTTP-Anfragen bis hin zu komplizierteren und leistungswichtigen Web-Interaktionen reichen. HTTPX kann sowohl synchrone als auch asynchrone Anfragen mit socks-Proxy-Unterstützung ausführen.

Funktionen von Httpx python

HTTPX in Python bietet die wertvollsten Funktionen, die das Handling von HTTP-Anfragen erweitern und verbessern. Hier sind einige seiner Hauptfunktionen:

Synchrone und asynchrone APIs:

Es unterstützt sowohl synchrone als auch asynchrone Anfragebearbeitung. Ein Entwickler kann je nach Bedarf jede der verfügbaren Optionen in einer Anwendung einsetzen.

HTTP/2-Unterstützung:

Dieses Framework hat native Unterstützung für das HTTP/2-Protokoll, was schnellere und effizientere Kommunikation mit Servern ermöglicht, die es unterstützen.

Verbindungspooling:

Intelligente HTTP-Verbindung: Wiederverwendung bereits etablierter Verbindungen und Verbindungspool-Sitzungen zur Reduzierung der Latenz und Steigerung der Geschwindigkeit für viele Anfragen.

Automatische Inhaltsdekodierung:

Es automatisiert das Dekodieren einer komprimierten Antwort, die normalerweise in gzip kodiert ist, was den Umgang damit erheblich erleichtert und die Bandbreite verringert.

Timeouts und Wiederholungen:

Definieren Sie Timeout-Anfrageeinstellungen für garantierte nicht blockierende Anfragen, die über das Anfrage-Timeout hinausgehen – zusätzliche Wiederholungsmechanismen zur Bewältigung vorübergehender Fehler.

WebSockets-Unterstützung:

Es unterstützt WebSocket-Verbindungen, die bidirektionale Kommunikation zwischen dem Client und dem Server über eine einzelne, langlebige Verbindung ermöglichen.

Proxy-Unterstützung:

Es hat eine eingebaute Unterstützung für HTTP-Proxies. Dies ermöglicht Anfragen über Zwischenserver für Datenschutz oder Netzwerkverwaltung.

Cookie-Verwaltung:

Die Bibliothek kümmert sich um Cookies und verfolgt den Sitzungsstatus zwischen den Anfragen.

Zertifikate des Clients:

Client-seitige Zertifikate werden unterstützt, um die Kommunikation mit Servern zu sichern, die eine gegenseitige TLS-Authentifizierung verwenden.

Middleware und Hooks:

Es erlaubt die Anpassung der Anfrage- und Antwortverarbeitung mit Middleware und Hooks. Dies bietet hervorragende Erweiterungsmöglichkeiten für Entwickler, um die Funktionalität von HTTPX gemäß ihren Anforderungen zu erweitern. Requests-Kompatibilität: Es ist so konzipiert, dass es die API von Requests verwendet, was es Entwicklern sehr leicht macht, von Requests zu HTTPX zu wechseln und viele neue hervorragende Funktionen und Verbesserungen zu erhalten.

Erstellen und konfigurieren von Httpx python.

Zuerst müssen Sie die Bibliothek installieren und eine Umgebung einrichten, um HTTPX in Python zu konfigurieren. Das HTTPX-Projekt basiert auf HTTP Core und der async-Bibliothek für Autodetektion als Abhängigkeiten, aber sie sollten direkt installiert werden, wenn das HTTPX-Projekt installiert wird. Es gibt auch eine Variante von HTTPX als Kommandozeilen-Client-Unterstützung, die mit reichhaltiger Terminalunterstützung einhergeht; in diesem Artikel konzentrieren wir uns jedoch ausschließlich auf HTTPX python. Der folgende Leitfaden zeigt ein Beispiel für eine einfache HTTP-GET-Anfrage. Für eine umfassendere API-Referenz besuchen Sie bitte die HTTPX-Dokumentation hier.

HTTPX installieren

Stellen Sie zunächst sicher, dass Sie HTTPX installiert haben. Sie können den Kommandozeilen-Client verwenden, um zu installieren:

pip install httpx
pip install httpx
SHELL

Importieren Sie HTTPX und machen Sie eine grundlegende Anfrage

Wenn installiert, können Sie HTTPX importieren und eine einfache HTTP-GET-Anfrage wie folgt ausführen:

import httpx

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'

# Create a client instance to manage HTTP requests
response = httpx.get(url)

# Print response HTTP status codes and content
print(f"Status Code: {response.status_code}")

# Print Unicode Response Bodies
print(f"Response Content: {response.text}")
import httpx

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'

# Create a client instance to manage HTTP requests
response = httpx.get(url)

# Print response HTTP status codes and content
print(f"Status Code: {response.status_code}")

# Print Unicode Response Bodies
print(f"Response Content: {response.text}")
PYTHON
  • Eine Funktion fetch_data, die einen asynchronen Kontextmanager verwendet, um innerhalb eines HTTP-Clients eine GET-Anfrage an eine gegebene URL zu richten.
  • Speichert das HTTP-Antwortobjekt, das von httpx.get(url) zurückgegeben wird.

Einrichten erweiterter Funktionen in HTTPX

Erweiterte Funktionen von HTTPX unterstützen eine breite Palette anderer Konfigurationen, wie das Handling von Proxies, Headern und Timeouts. Hier ist, wie man HTTPX mit mehr Optionen einrichtet:

import httpx

def fetch_data_with_config(url):
    # Create a client with a timeout and custom headers
    with httpx.Client(timeout=30, headers={"User-Agent": "MyApp/1.0"}) as client:
        response = client.get(url)
        return response

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = fetch_data_with_config(url)

# Print response status code and content
print(f"Status Code: {response.status_code}")
print(f"Response Content: {response.json()}")
import httpx

def fetch_data_with_config(url):
    # Create a client with a timeout and custom headers
    with httpx.Client(timeout=30, headers={"User-Agent": "MyApp/1.0"}) as client:
        response = client.get(url)
        return response

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = fetch_data_with_config(url)

# Print response status code and content
print(f"Status Code: {response.status_code}")
print(f"Response Content: {response.json()}")
PYTHON
  • Timeout: Es setzt die Timeout-Dauer der HTTP-Anfrage auf 30 Sekunden. Dies ist, um zu verhindern, dass die Anfrage unendlich blockiert.
  • Es fügt der Anfrage einen benutzerdefinierten User-Agent-Header hinzu { "User-Agent": "MyApp/1.0" }, um die Client-Anwendung zu identifizieren.
  • response.json() - Dies analysiert den Antwortinhalt als JSON, vorausgesetzt, die Antwort enthält JSON-Daten.

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 2

Einstieg

HTTPX mit Python und IronPDF verwenden, um PDFs zu erstellen. Zuerst müssen Sie HTTPX konfigurieren, um Daten von einer Quelle abzurufen, und dann erstellt IronPDF einen PDF-Bericht aus den erfassten Daten. Hier ist, wie es im Detail gemacht wird:

Was ist IronPDF?

Die mächtige und robuste Python-Bibliothek IronPDF ermöglicht die Erstellung, Bearbeitung und das Lesen von PDFs. Sie ermöglicht es Programmierern, viele programmatisch basierte Operationen an PDFs durchzuführen, wie das Bearbeiten bereits bestehender PDFs und das Konvertieren von HTML-Dateien in PDF-Dateien. IronPDF erleichtert und flexibilisiert die Erstellung hochwertiger Berichte im PDF-Format. Dementsprechend ist es praktisch für Anwendungen, die dynamisch PDFs erstellen und verarbeiten.

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 3 - IronPDF: Die Python-PDF-Bibliothek

HTML zu PDF Konvertierung

IronPDF ermöglicht die Umwandlung beliebiger HTML-Daten in ein PDF-Dokument, unabhängig vom Alter. Dies erlaubt die Erstellung von beeindruckenden, künstlerischen PDF-Veröffentlichungen aus Webinhalten, die die modernen Fähigkeiten von HTML5, CSS3 und JavaScript voll ausschöpfen.

PDFs erstellen und bearbeiten

Es ist möglich, neue PDF-Dokumente zu erzeugen, die Text, Bilder, Tabellen und andere Inhalte über eine Programmiersprache enthalten. IronPDF kann auch vorhandene PDF-Dokumente öffnen und modifizieren, um weitere Anpassungen vorzunehmen. Beliebiger Inhalt, der in einem PDF-Dokument enthalten ist, kann nach Belieben hinzugefügt, verändert oder entfernt werden.

Komplexes Design und Styling

Dies wird durch das Styling von PDF-Inhalten erreicht, das durch CSS möglich ist und komplexe Layouts mit verschiedenen Schriftarten, Farben und anderen Designelementen handhaben kann. Außerdem wird der Umgang mit dynamischen Inhalten innerhalb von PDFs durch die Verwendung von JavaScript gewährleistet, wodurch das Rendering von HTML-Inhalten erleichtert wird.

Installieren Sie IronPDF

IronPDF kann mit pip installiert werden. Der Befehl zur Installation lautet wie folgt:

pip install ironpdf
pip install ironpdf
SHELL

Kombinieren von httpx mit IronPDF für Python

Verwenden Sie HTTPX, um Daten von einer API oder Website abzurufen. Das folgende Beispiel zeigt, wie man Daten von einer gefälschten API im JSON-Format abruft.

import httpx
from ironpdf import ChromePdfRenderer

# Set your IronPDF license key
License.LicenseKey = ""

def fetch_data_with_config(url):
    # Create an HTTPX client with added configurations
    with httpx.Client(timeout=30, headers={"User-Agent": "MyApp/1.0"}) as client:
        response = client.get(url)
        return response

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = fetch_data_with_config(url)

# Create a PDF document renderer
iron_pdf = ChromePdfRenderer()

# Create HTML content from fetched data
html_content = f"""
<html>
<head><title>Data Report</title></head>
<body>
    <h1>Data Report</h1>
    <p>{response.json()}</p>
</body>
</html>"""

# Render the HTML content as a PDF
pdf = iron_pdf.RenderHtmlAsPdf(html_content)

# Save the PDF document
pdf.SaveAs("Data_Report.pdf")
print("PDF document generated successfully.")
import httpx
from ironpdf import ChromePdfRenderer

# Set your IronPDF license key
License.LicenseKey = ""

def fetch_data_with_config(url):
    # Create an HTTPX client with added configurations
    with httpx.Client(timeout=30, headers={"User-Agent": "MyApp/1.0"}) as client:
        response = client.get(url)
        return response

# Example usage
url = 'https://jsonplaceholder.typicode.com/posts/1'
response = fetch_data_with_config(url)

# Create a PDF document renderer
iron_pdf = ChromePdfRenderer()

# Create HTML content from fetched data
html_content = f"""
<html>
<head><title>Data Report</title></head>
<body>
    <h1>Data Report</h1>
    <p>{response.json()}</p>
</body>
</html>"""

# Render the HTML content as a PDF
pdf = iron_pdf.RenderHtmlAsPdf(html_content)

# Save the PDF document
pdf.SaveAs("Data_Report.pdf")
print("PDF document generated successfully.")
PYTHON
  • Dies ist darauf ausgelegt, Daten synchron von Web-APIs oder Websites mit HTTPX abzurufen. Es ist eine praktische Bibliothek, da sie für synchrone und asynchrone Operationen vorbereitet ist und verschiedene HTTP-Anfragen gleichzeitig verarbeiten kann. Ein Beispiel wäre das Ansprechen eines Mock-API-Endpunkts, der JSON-Daten zurückgibt.
  • IronPDF wird über Python verwendet; eine .NET Engine, die verpflichtet ist, PDF-Berichte mit den oben genannten abgerufenen Daten zu erstellen. IronPDF kann PDFs aus HTML-Inhalten generieren und diese Daten in strukturierte Dokumente umwandeln.
  • IronPDF-Integration: Python ermöglicht es Ihnen, mit IronPDF zu interagieren. Es wird dazu führen, dass ein PDF-Dokument (pdf) basierend auf dynamisch generierten HTML-Inhalten (html_content) entwickelt wird. Daten werden über HTTPX abgerufen. Dieser HTML-Inhalt basiert auf dynamisch abgerufenen Daten; so können personalisierte und Echtzeit-Berichte erhalten werden.

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 4 - Beispiel einer Konsolenausgabe, die einen erfolgreichen Abruf angibt

HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 5 - Beispiel für eine PDF-Ausgabe unter Verwendung von IronPDF zur Präsentation der abgerufenen JSON-Daten

Abschluss

Diese HTTPX-Integration mit IronPDF vereint zwei Stärken in Ihrem Python: die Datenbeschaffung und die professionelle PDF-Generierung. Das bedeutet, dass HTTPX perfekt zum Abrufen von Daten über Web-APIs oder Websites ist, da es sowohl asynchrone als auch synchrone Stile zum Umgang mit HTTP-Anfragen unterstützt. Auf der anderen Seite macht es IronPDF einfach, aufpolierte und professionell gestaltete PDF-Berichte aus abgerufenen Daten über Python .NET Interop zu generieren, wodurch diese Visualisierung und Übermittlung von Datenkenntnissen verziert wird.

Es vereinfacht alles von der einfachsten Datenabfrage bis zur Berichterstellung und bietet Flexibilität beim Umgang mit vielen diskreten Datenquellen und -formaten. Es ermöglicht dem Entwickler, detaillierte PDFs zur Präsentation, Dokumentation oder sogar zum Archivieren aller Datenanalyseergebnisse zu erstellen. All diese Anwendungen und Python-Anwendungen werden Rohdaten in professionell formatierte Berichte umwandeln und so Produktivität und Entscheidungsfindung in jedem gewählten Bereich sichern.

Integrieren Sie IronPDF und Iron Software-Produkte, um Ihren Kunden und ihren Nutzern reiche, hochwertige Softwarelösungen bereitzustellen. Dies wird die Projektoperationen und -verfahren rationalisieren.

Zusätzlich zu allen Grundfunktionen hat IronPDF vollständige Dokumentation, eine lebendige Community und häufige Updates. Basierend auf diesen Informationen ist Iron Software ein zuverlässiger Partner für moderne Softwareentwicklungsprojekte. Entwickler können IronPDF für eine kostenlose Testversion ausprobieren, um alle seine Funktionen zu überprüfen. Danach beginnt die Lizenz bei $799 und darüber.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen