Golang:如何让http客户端不遵循重定向?

时间:2016-07-27 12:36:33

标签: http go session-cookies http-redirect

我想使用具有以下特征的http客户端进行http调用:

  • 不遵循重定向(只需获取第一个调用的完整响应,返回302重定向代码)
  • 能够接收cookie

因此,我正在寻找一个http.Client而不是trasport.RoundTrip

的解决方案

我该怎么做?

1 个答案:

答案 0 :(得分:10)

如果您使用Dim i As Integer Dim rows As Integer row_count = 3 i = 1 While i <= row_count If Worksheets("Data").Cells(i, 6).Text <> "a" Then Worksheets("Data").rows(i).Delete i = i - 1 row_count = row_count - 1 End If i = i + 1 Wend ,则可以选择使用http.Client field

此字段采用自定义函数,如果初始请求收到错误,该函数可以处理任何重定向。

一个简单的例子可能是这样的:

CheckRedirect

您还可以返回client: &http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { return errors.New("something bad happened") // or maybe the error from the request }, } error,它会返回最近的回复,其主体未公开。