Wie behebe ich den Fehler „nicht unterstütztes Protokollschema' in der Go-Basisauthentifizierung?

Barbara Streisand
Freigeben: 2024-11-24 03:24:10
Original
916 Leute haben es durchsucht

How to Fix

HTTP-Basisauthentifizierung in Go: Fehlerbehebung bei einem häufigen Fehler

Beim Versuch, die grundlegende HTTP-Authentifizierung mit dem bereitgestellten Code zu implementieren, tritt ein Fehler auf: „nicht unterstütztes Protokollschema''“. Dies kann auf ein Versehen im Code beim Erstellen des Anforderungsobjekts zurückgeführt werden.

Um diesen Fehler zu beheben, stellen Sie sicher, dass das richtige Schema in der Anforderungs-URL angegeben ist. Das angegebene Beispiel versucht, eine Anfrage an „mydomain.example“ zu stellen, ohne ein Protokollschema anzugeben, was zu dem Fehler führt.

Um dies zu beheben, ändern Sie den Code, um das HTTPS-Schema wie folgt explizit anzugeben:

req, err := http.NewRequest("GET", "https://mydomain.example", nil)
Nach dem Login kopieren

Darüber hinaus ist zu beachten, dass der HTTP-Client von Go möglicherweise auf ein weiteres Problem bei der Verarbeitung von Weiterleitungen stößt. Standardmäßig behält der Client bei Weiterleitungen keine benutzerdefinierten Header, einschließlich des Basic Authorization-Headers, bei.

Um dieses Verhalten zu umgehen, können Sie eine benutzerdefinierte Weiterleitungsrichtlinienfunktion definieren, die den Authorization-Header bei Weiterleitungen explizit wieder hinzufügt. Dadurch wird sichergestellt, dass die Authentifizierungsdaten während des gesamten Umleitungsprozesses erhalten bleiben.

Hier ist ein Beispiel einer benutzerdefinierten Umleitungsrichtlinienfunktion:

func redirectPolicyFunc(req *http.Request, via []*http.Request) error {
  req.Header.Add("Authorization", "Basic " + basicAuth(username, password))
  return nil
}
Nach dem Login kopieren

Durch die Verwendung dieser benutzerdefinierten Richtlinie im HTTP-Client stellen Sie sicher dass der Basic Authorization-Header bei Weiterleitungen ordnungsgemäß verarbeitet wird, was eine nahtlose Authentifizierung ermöglicht.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „nicht unterstütztes Protokollschema' in der Go-Basisauthentifizierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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