如何使用 golang 上下文功能而不是 golang http 客户端发出 http 请求?
Posted
技术标签:
【中文标题】如何使用 golang 上下文功能而不是 golang http 客户端发出 http 请求?【英文标题】:How to issue http request with golang context capability but not by golang http client? 【发布时间】:2017-10-04 03:21:29 【问题描述】:我发现 golang 上下文对于在客户端-服务器请求范围内取消服务器处理很有用。
我可以使用http.Request.WithContext
方法发出带有上下文的http请求,但是如果客户端不使用golang,是否可以实现?
谢谢
【问题讨论】:
【参考方案1】:我不能 100% 确定您在问什么,但在处理传入请求和出站请求时,可以使用一段时间(例如超时)的上下文。
对于传入的请求,您可以使用上下文并返回一个超时 http 状态代码,表明服务器希望能够处理该请求。客户端发送给您的内容无关紧要,您可以自行决定与服务器的超时时间。
对于传出请求,您甚至不需要服务器知道您有超时。您只需设置一个超时,如果在设定的时间内没有得到响应,您的请求就会取消。这意味着您可能不会从服务器收到任何响应,因为您的代码会取消传出请求。
现在您是在询问如何编写这些代码的示例吗?或者只要两者都可能?
【讨论】:
以上是关于如何使用 golang 上下文功能而不是 golang http 客户端发出 http 请求?的主要内容,如果未能解决你的问题,请参考以下文章
在一个 IP 上托管多个 Golang 站点并根据域请求提供服务?