问题标签 [go-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
144 浏览

go - 使用 uTls 时如何修复 www.fedex.com 上的 TLS 错误?

有人可以帮助我在 go 中使用 uTls 修复我的 TLS 吗?每当我尝试对https://www.fedex.com/的 GET 请求时,我都会得到:

这是我的代码:

0 投票
0 回答
3401 浏览

go - 如何修复 net/http:HTTP/1.x 传输连接中断:HTTP 响应格式错误

每当我尝试对 google.com 执行 GET 请求时,都会收到此错误:

Get "https://www.google.com/": net/http: HTTP/1.x transport connection broken: malformed HTTP response

我想尝试获取 google 的主页,但我不知道为什么会这样。有人请帮忙。我正在使用 golang 的 uTls 这是我的代码:

0 投票
2 回答
15966 浏览

go - 使用 HTTP GET 请求拨打 tcp i/o 超时

遇到一些错误,我必须忽略一些东西。我该如何调试呢?断开连接?

我读到以下内容:
golang - 为什么 net.DialTimeout 有一半时间超时?
去。在服务器程序
golang 中获取错误 i/o 超时在 ubuntu 14.04 LTS 中获取大量读取 tcp ip:port i/o 超时在
Go 源代码中定位“读取 tcp”错误
获取零星的“http:代理错误:读取 tcp:i/ o 超时”在 Heroku 上

此处创建的错误: https ://github.com/golang/go/blob/b115207baf6c2decc3820ada4574ef4e5ad940ec/src/net/net.go#L179

目标:向 url 发送 Get 请求。
预期结果:以 JSON 格式返回正文。
遇到的问题:I/O超时

它适用于邮递员
编辑:我添加了修改后的超时......

Edit2:跟踪错误

邮递员要求:

邮递员结果(1440 行):

代码:

结果:

0 投票
0 回答
205 浏览

go - 如何使用 pfx 证书设置 httpClient?

我正在创建一个应用程序,它将通过带有一个 .pfx 证书的其余 API 与其他系统进行通信。我必须用 Go 编写这个应用程序。任何线索都会非常有帮助。

0 投票
1 回答
96 浏览

go - 在测试 mux.Vars() 返回 nil 而不是预期的地图

我在返回的函数中有一个 Gorilla Mux 路由器设置*mux.Router,就像这样

因此,在我的测试中,我使用 URL 准备句柄并运行它:

把手里面的东西是这样的:

我注意到它mux.Vars(r)返回nil而不是值映射,它应该包含{"emisor": "-"},我不明白为什么不是这样。

我已经在处理 when"emisor"为空的情况,但是对于不能使用“-”或空字符串的其他路由器,这个怪癖给我带来了麻烦,我做错了什么,我怎样才能在没有成功的情况下成功运行我的测试手动注入我的变量?还有:这个问题会转化为生产吗?

0 投票
0 回答
97 浏览

go - 尝试使用 go-swagger 生成的 api 服务器实现 qor 仪表板时出现服务器恐慌

以上是我在尝试 GET 方法时遇到的 go-swagger 服务器生成的错误,它使用 chrome 浏览器请求 /admin 路由,该路由指向 qor 仪表板。我在 main.go 中使用 gorilla/mux 实现了 qor 仪表板路由处理,如下所示:

我也试过用 vanilla net/http 替换上面的代码:

但我仍然遇到与本文顶部相同的错误。

我已经删除并保留了相同的 qor 仪表板管理代码并运行服务器并调用其他路由连接、插入和删除附加的 postgres 数据库中的内容,这些路由工作得很好。

我觉得我错过了一些关于路由的小东西,但我已经分叉了 qor 仪表板项目,并且如果他们需要修复或需要更改以使用 go-swagger 生成的服务器,我愿意修复它们。我只是不知道从哪里开始。

也许该Admin.MountTo("/admin", mux)功能无法正常工作?

在 /admin 路由上调用 GET 方法会导致本文顶部的错误。

以下是关于集成的 qor 仪表板文档:https ://doc.getqor.com/admin/integration.html

以下是自定义服务器上的 go-swagger 文档:https ://goswagger.io/tutorial/custom-server.html

任何帮助表示赞赏。:)

0 投票
2 回答
56 浏览

go - 如何正确使用通道进行并发 POST API 调用并将数据记录在文件中

我正在尝试在 Go 中设计一个 HTTP 客户端,该客户端能够对 Web 服务进行并发 API 调用并将一些数据写入文本文件。

getTotalColls决定我要打多少电话,输入来自终端。

将从缓冲通道同步将writeToFile数据写入文件。

这是在 go Routine 中进行 API 调用的函数。

最后这是 Main 函数,它将数据从 go 例程发送到 bufferend 通道,然后我跨越 string 的 bufferend 通道并将数据写入文件。

问题是在调用结束时缓冲的阻塞和程序永远等待所有调用的结束。有人有更好的方法来设计这样的用例吗?我的最终目标是检查不同数量的并发发布请求,每次调用需要多少时间才能将 API 端点标记为 5、10、50、100、500、1000 ... 组并发调用。

0 投票
2 回答
8326 浏览

go - 您如何在子文件夹/包中使用 Go 1.16 嵌入功能?

Go 1.16 已经发布,我想使用新的嵌入功能。如果一切都在主包中,我可以让它工作。但目前尚不清楚如何处理从子文件夹/包访问资源。尝试使用 embed.FS 支持来做到这一点。

例如,我在处理程序包/文件夹中有一个 main.go 和一个 HTTP 处理程序

如果我将处理程序放在主要位置,它就可以工作。如果我把它放在处理程序包中,它就找不到模板。我得到:

handlers/indexHandler.go:11:12: pattern templates: no matching files found exit status 1

同样,如果我从 / 提供图像,我可以让它从静态文件夹中提供图像。但是我不能同时提供来自 / 的处理程序和来自 / 的静态/图像。如果我将图像放在 /static/ 上,它将找不到图像。

我认为这与相对路径有关。但是我无法通过反复试验找到正确的组合......依赖这些功能还为时过早吗?

以前我用的是go-rice,我没有这些问题。但我想尽可能多地使用 std 库。

main.go:

处理程序/indexHandler.go:

结构如下...

0 投票
1 回答
295 浏览

http - HTTP 客户端在超时时返回随机错误

我有一个带有自定义的 HTTP 客户端,RoundTripper它反过来使用http.DefaultTransport来处理请求。现在想象一下我有一个慢速服务器,它需要很长时间才能响应,它使我的 http 客户端超时并取消客户端。这是客户端的代码:

这里的问题是我在超时时收到的错误是随机的net/http: request canceledor之一context deadline exceeded
现在我知道它们在语义上应该是相同的,但我不明白为什么它会在何时返回?

如果您想自己尝试,这里是服务器代码。

0 投票
1 回答
41 浏览

go - 如何进行并行 http.Get 查询

我正在尝试并行进行 http 查询,然后等待所有人完成:

我收到以下错误: