


Wie kann ich verhindern, dass der HTTP-Client von Go Weiterleitungen automatisch folgt?
Nutzung des Go-HTTP-Clients zur Deaktivierung automatischer Weiterleitungen
Bei der Go-Programmierung ist die Handhabung von HTTP-Weiterleitungen beim Erstellen von RESTful-API-Clients von entscheidender Bedeutung. Es gibt jedoch Szenarien, in denen eine automatische Umleitungsbehandlung unerwünscht ist. In dieser Frage wird ein alternativer Ansatz untersucht, um zu verhindern, dass der Go-HTTP-Client Weiterleitungen automatisch folgt.
Die erste in der Frage bereitgestellte Lösung hebt eine benutzerdefinierte Implementierung der CheckRedirect-Funktion hervor, die die Behandlung von HTTP-Weiterleitungen als Fehler erzwingt. Obwohl es technisch effektiv ist, fühlt es sich unnatürlich an, Weiterleitungen als Fehler zu klassifizieren.
Um dieses Problem zu beheben, bietet die Antwort eine elegantere Lösung: Ändern der CheckRedirect-Funktion, um http.ErrUseLastResponse zurückzugeben. Dies signalisiert dem HTTP-Paket, dass Weiterleitungen nicht befolgt werden sollten, ohne eine Fehlerbehandlung auszulösen.
Hier ist der aktualisierte Code:
client := &http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, }
Mit dieser Änderung ignoriert der HTTP-Client Weiterleitungen und Geben Sie die neueste Antwort zurück, wobei der Textkörper noch zugänglich ist. Der Kommentar im Quellcode verdeutlicht Folgendes:
Wenn CheckRedirect als Sonderfall ErrUseLastResponse zurückgibt, wird die neueste Antwort mit nicht geschlossenem Text und einem Nullfehler zurückgegeben.
Als a Dadurch können Sie Weiterleitungen innerhalb Ihres Skripts manuell verwalten, was für mehr Flexibilität und Kontrolle über den HTTP-Workflow sorgt. Durch die Nutzung dieser Technik können Sie mit REST-APIs interagieren, die Weiterleitungen zurückgeben und gleichzeitig den gewünschten Grad an Anpassung beibehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass der HTTP-Client von Go Weiterleitungen automatisch folgt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?
