我使用http-conduit
库版本2.0+从HTTP Web服务获取内容:
import Network.HTTP.Conduit
main = do content <- simpleHttp "http://stackoverflow.com"
print $ content
如文档中所述,默认超时为5秒。
- 注:* 我立即回答了这个问题,因此故意不显示进一步的研究工作。
我使用http-conduit
库版本2.0+从HTTP Web服务获取内容:
import Network.HTTP.Conduit
main = do content <- simpleHttp "http://stackoverflow.com"
print $ content
如文档中所述,默认超时为5秒。
3条答案
按热度按时间dgsult0t1#
类似于this previous question,你不能单独使用
simpleHttp
。您需要同时使用Manager
和httpLbs
才能设置超时。请注意,您不需要在管理器中设置超时,但您可以为每个请求单独设置它。
下面是一个完整的示例,其行为与上面的函数类似,但允许您修改超时:
xn1cxnb42#
我发现以下是Uli的
downloadHttpTimeout
的一个版本,它更类似于simpleHTTP
:与
simpleHTTP
的唯一区别是返回类型略有不同,因此可以提取例如响应体,一个使用导管的responseBody
而不是Network.HTTP.getResponseBody
。r55awzrz3#
目前,
Int
不能隐式转换为ResponseTimeout
,需要responseTimeoutMicro
来转换Int
。