【发布时间】:2017-03-17 14:46:28
【问题描述】:
我有一个客户端连接到服务器以读取一些响应。当我使用 Postman 执行请求时,服务器需要大约 5 分钟来响应特定请求。
我正在用 Go 语言编写这个客户端并执行以下代码来设置 10 分钟的超时时间。
_client := &http.Client{
Timeout: 10 * time.Minute,
}
resp, err := _client.Post(c.Url, "application/json", r)
但是,请求会在 2 分钟后终止并出现错误。错误只是说EOF。
我尝试将超时设置为 15 秒以检查配置是否正常工作,并且请求是否按预期在 15 秒内终止。
如何确保超时为 10 分钟?
【问题讨论】:
-
究竟是什么错误?
-
@KashifNazar:EOF 表示服务器出于某种原因关闭了连接。你确定你已经写了完整的请求吗?
r是否有效,还是只是阻塞了请求正文? -
@kashif 问题不在您的端,而是在您的服务器端。您的服务器没有很好地处理文件操作,因此您得到 EOF