自定义Http状态代码上的Golang Http客户端请求失败

时间:2017-11-08 12:35:55

标签: go httpclient

我们正在使用从python到golang的服务重写旧的集成。此服务使用自定义状态代码。例如,状态代码是8000.但是当我试图得到响应时,它给我的错误是“格式错误的HTTP状态代码”。有人可以帮我解决这个问题。通过代码并发现以下代码段如果状态代码的长度不是3,则抛出错误。

   if len(statusCode) != 3 {
    return nil, &badStringError{"malformed HTTP status code", statusCode}
}

编辑: 我理解HTTP状态的RFC标准是3位数。但我正在重新整合银行系统的遗留代码。所以我不能/无法访问更改服务的实现。

为了提供更多上下文,python的http库没有进行此验证。 (我不是说一种语言优于另一种语言,所以请不要比较语言/库)所以想知道是否有任何方法可以绕过这种特定的验证。 在此先感谢您的理解..

2 个答案:

答案 0 :(得分:1)

来自RFC 2616:

  

Status-Code元素是一个3位整数结果代码      尝试

你所拥有的是无效的HTTP。如果您可以直接获取套接字,则可以尝试解析原始TCP数据。

答案 1 :(得分:1)

如果您希望可以使用标准代码来获取一般信息(确定,客户端错误,服务器错误等)以及在有效负载中传输的自定义应用程序代码,以获取更多详细信息。