Nouvelles tentatives automatiques de requête HTTP : un guide
Les requêtes HTTP ne réessayent pas automatiquement si le serveur est temporairement indisponible. Par conséquent, il est nécessaire de mettre en œuvre un mécanisme de nouvelle tentative personnalisé pour gérer de tels scénarios.
Mécanisme de nouvelle tentative personnalisé
Pour créer un mécanisme de nouvelle tentative personnalisé, vous pouvez suivre ces étapes :
Exemple dans GoLang
L'extrait de code suivant illustre un mécanisme de nouvelle tentative de base dans 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>
Résumé
La mise en œuvre d'un mécanisme de nouvelle tentative personnalisé est essentielle lors de l'envoi de requêtes HTTP à des serveurs potentiellement peu fiables. Cela garantit que vos demandes peuvent aboutir même si le serveur est temporairement indisponible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!