Automatischer Wiederholungsversuch bei HTTP-Anfragen
Frage:
In GoLang beim Push-Versuch Wenn Sie Daten an einen Apache-Server senden, ist der Server möglicherweise vorübergehend nicht verfügbar. Wird die HTTP-Anfrage in einem solchen Szenario automatisch wiederholt?
Antwort:
Nein, der Standard-HTTP-Client in GoLang wiederholt HTTP-Anfragen nicht automatisch.
Implementierung der Wiederholungsmethode:
Um einen benutzerdefinierten Wiederholungsmechanismus zu implementieren, betrachten Sie das folgende Beispiel:
<code class="go">package main import ( "fmt" "io/ioutil" "log" "net/http" ) func main() { var ( err error response *http.Response retries int = 3 ) for retries > 0 { response, err = http.Get("https://non-existent") if err != nil { log.Println(err) retries -= 1 } else { break } } if response != nil { defer response.Body.Close() data, err := ioutil.ReadAll(response.Body) if err != nil { log.Fatal(err) } fmt.Printf("data = %s\n", data) } }</code>
Dieser Code demonstriert einen grundlegenden Wiederholungsmechanismus, der Folgendes berücksichtigt Es sind maximal drei Wiederholungsversuche erforderlich, bevor ein Fehler auftritt. Die HTTP-Anfrage wird wiederholt ausgegeben, bis sie erfolgreich ist oder die angegebene Anzahl von Wiederholungsversuchen erreicht ist.
Das obige ist der detaillierte Inhalt vonWiederholt der Standard-HTTP-Client von GoLang automatisch Anfragen, wenn der Server nicht verfügbar ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!