转到HTTP请求超时

I have a client that connects to a server to read some response. The server takes around 5 minutes to respond to a particular request when I use Postman to execute the request.

I am writing this client in Go language and executing the following code to set a timeout of 10 minutes.

_client := &http.Client{
        Timeout: 10 * time.Minute,
}

resp, err := _client.Post(c.Url, "application/json", r)

However, the request terminates after 2 minutes with an error. The error just says EOF.

I tried setting the timeout to 15 seconds to check if the config works and the request terminates in 15 seconds as expected.

How can I make sure that the timeout is 10 minutes?

I've had the same problem but there my code was running in GAE which canceled the request after 2 min with no operation. So if you have total control over where your code runs you should be able to specify the timeout time in client.Timeout

See here

The real problem here is that you are using HTTP in a way implementers do not want you to. You can read more about your problem and the best practice to solve it here. The short answer is that you are better off responding quickly to the client saying the job is running along with the url to find the result when it is done.