初级会员
  • 第 35975 位会员
  • wnanbei
  • wnanbei
  • 2019-04-30 15:28:28
  • Offline
  • 29 40

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 这两天已经用 context.Context 实现了这个需求,可以给单个请求指定 Proxy 代理、重定向次数、超时时间了,有兴趣的话可以看一下。 https://github.com/wnanbei/direwolf/blob/master/session.go#L264 https://github.com/wnanbei/direwolf/blob/master/download.go#L18
  • #5 @focusonline 主要是实际使用的时候,代理的数量很多,要指定到特定的请求上去,没办法一一判断
  • #3 @focusonline 比如现在我并发了一万个请求,其中只有一个需要加代理。 但现在我在并发的过程中把代理给 Client 加上的话,其他所有的请求都加上代理了。现在能理解吗
  • #1 @focusonline 因为重定向次数写死在这个函数里了,要改只能改这个函数。 这个问题的起因主要就以下几点: 1. 因为 Golang net/http 发起请求的时候,是没有办法为单个 Request 请求设置重定向、代理、超时这些设置的,要设置只能设置到 Client 上。 2. Client 底层有连接池,所以需要复用,创建多个新的 Client 来使用开销会很大。 3. 目前需要在并发的情况下更改单个 Request 请求的重定向、代理、超时等设置,但因为 1 的原因只能改 Client。 4. 但复用 Client 的话,Client 的值就类似一个全局变量,在这个协程中更改了,会影响另一个协程中的请求。 情况大致是这么个情况,目前想问的就是有没有更好的解决办法。
  • #2 @j641283231110 其实还好,因为用 go mod 的话,第三方库是默认放在 GOPATH/pkg/mod 目录下的。 源码放 src 互相不影响。