Ich habe einen Client, der eine Verbindung zu einem Server herstellt, um eine Antwort zu lesen. Der Server benötigt ca. 5 Minuten, um auf eine bestimmte Anfrage zu antworten, wenn ich Postman zum Ausführen der Anfrage verwende.Go HTTP Request Timeout
Ich schreibe diesen Client in der Sprache Go und führe den folgenden Code aus, um ein Timeout von 10 Minuten festzulegen.
_client := &http.Client{
Timeout: 10 * time.Minute,
}
resp, err := _client.Post(c.Url, "application/json", r)
Die Anfrage wird jedoch nach 2 Minuten mit einem Fehler beendet. Der Fehler sagt nur EOF
.
Ich habe versucht, das Timeout auf 15 Sekunden einzustellen, um zu prüfen, ob die Konfiguration funktioniert und die Anfrage in 15 Sekunden wie erwartet beendet wird.
Wie kann ich sicherstellen, dass das Timeout 10 Minuten beträgt?
Was genau ist der Fehler? – JimB
Mögliche Duplikate: [Wie Zeitüberschreitung für http.Get() Anforderungen in Golang?] (Http://stackoverflow.com/questions/16895294/how-to-set-timeout-for-http-get-requests-in -golang); und [HTTP-Client, Leerlaufzeitlimit] (http://stackoverflow.com/questions/27784521/http-client-idle-timeout). Lösen sie dein Problem? – icza
@KashifNazar: EOF bedeutet, dass der Server die Verbindung aus irgendeinem Grund geschlossen hat. Sind Sie sicher, dass Sie die vollständige Anfrage geschrieben haben? Ist 'r 'gültig oder blockiert es den Anfragetext? – JimB