当前位置: 首页 > 面试题库 >

如何在Golang中为http.Get()请求设置超时?

燕照
2023-03-14
问题内容

我在Go中制作了一个URL提取程序,并具有要提取的URL列表。我将http.Get()请求发送到每个URL并获得他们的响应。

resp,fetch_err := http.Get(url)

如何为每个Get请求设置自定义超时?(默认时间很长,这会使我的提取程序非常慢。)我希望提取程序的超时时间为40-45秒左右,之后它应该返回“请求超时”并移至下一个URL。

我该如何实现?


问题答案:

显然在Go 1.3中,http.Client具有“超时”字段

client := http.Client{
    Timeout: 5 * time.Second,
}
client.Get(url)

这为我完成了窍门。



 类似资料:
  • 我正在制作一个URL提取器,并有一个要提取的URL列表。我向每个URL发送请求并获取它们的响应。 如何为每个Get请求设置自定义超时?(默认时间很长,这使得我的取数器非常慢。)我希望我的提取器有一个大约40-45秒的超时,之后它应该返回“Request timed Out”并移动到下一个URL。 我怎样才能做到这一点呢?

  • 我有一个同步终结点,定义如下: 当30秒后返回的<code>Future<code>未完成时,请求将被取消。 如何增加此特定终结点的超时(例如,增加到 100 秒)? 我只找到了更改所有endpoint的答案: 指定Spring中控制器异步方法的超时时间 延迟结果的Spring长轮询

  • 问题内容: 我的Java Web应用程序有问题。 这是index.jsp中的代码: 当我有线请求时,我的浏览器发送以下标头: Tomcat服务器返回以下信息: 但是,如果我以我的形式发送“é”(UTF-8中的%C3%A9),则会显示“é”。 我了解的是浏览器发送了一个用UTF-8(%C3%A9)编码的“é”。 但是服务器将其解释为ISO-8859-1。因此,%C3解码为Ã,%A9解码为©,然后发

  • 问题内容: 我创建了以下函数来检查连接状态: 当我关闭服务器以测试执行情况时,会在网上等待很长时间 有谁知道如何设置超时以避免等待太久? 问题答案: 在我的示例中,设置了两个超时。连接超时抛出,套接字超时。 如果要设置任何现有HTTPClient的参数(例如或,则可以使用函数。

  • 问题内容: 我需要为我们对服务(而非Web服务)发出的Http请求设置超时。我们正在使用Apache HTTP客户端。我添加了这两行代码,以根据请求和对服务的响应设置超时时间。 1)目前,我已将超时设置为10秒,因为我几乎立即从服务中看到了响应。我应该增加还是减少时间? 2)如果响应时间超过10秒,会发生什么?它会抛出异常吗?它将是什么异常?我还需要添加其他内容来设置以下代码中的超时时间。 问题答

  • 我有一个TcpClient,用于将数据发送到远程计算机上的侦听器。远程计算机有时打开,有时关闭。因此,TCP客户端将经常无法连接。我希望TcpClient在一秒钟后超时,这样当它无法连接到远程计算机时就不会花费太多时间。目前,我对TcpClient使用以下代码: 这对于处理任务来说已经足够好了。如果可以,它会发送它,如果无法连接到远程计算机,它会捕获异常。然而,当它无法连接时,抛出异常需要10到1