Automatische Wiederholungsversuche bei HTTP-Anfragen: Eine Anleitung
HTTP-Anfragen werden nicht automatisch wiederholt, wenn der Server vorübergehend nicht verfügbar ist. Daher ist es notwendig, einen benutzerdefinierten Wiederholungsmechanismus zu implementieren, um solche Szenarien zu bewältigen.
Benutzerdefinierter Wiederholungsmechanismus
Um einen benutzerdefinierten Wiederholungsmechanismus zu erstellen, können Sie die folgenden Schritte ausführen:
Beispiel in GoLang
Der folgende Codeausschnitt demonstriert einen grundlegenden Wiederholungsmechanismus in GoLang:
<code class="go">package main import ( "fmt" "io/ioutil" "log" "net/http" "time" ) func main() { var ( err error response *http.Response retries int = 3 backoff int = 1 // Initial wait time in seconds ) for retries > 0 { response, err = http.Get("https://some-unreliable-url") if err != nil { log.Println(err) retries -= 1 time.Sleep(time.Duration(backoff) * time.Second) backoff *= 2 // Double wait time for subsequent retries } 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>
Zusammenfassung
Die Implementierung eines benutzerdefinierten Wiederholungsmechanismus ist unerlässlich, wenn HTTP-Anfragen an potenziell unzuverlässige Server gesendet werden. Dadurch wird sichergestellt, dass Ihre Anfragen auch dann erfolgreich sein können, wenn der Server vorübergehend nicht verfügbar ist.
Das obige ist der detaillierte Inhalt vonWie kann ich automatische HTTP-Anforderungswiederholungen implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!