问题标签 [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.
go - 在 Go 中显示分页小部件
我在 Go 中使用 HTML 模板来呈现分页小部件。我正在尝试从这里遵循一个示例:https ://www.solodev.com/blog/web-design/adding-pagination-to-your-website.stml
到目前为止,这是我的代码:
我想通过仅在活动页面变为PaginationSize
. 例如,当显示的分页显示
如果用户点击 2,我想看看
但我当前的代码显示
页面超过 6 后,页面列表应如下所示
包装在这个分页视图中的数据可能在数据库中,所以如果可能的话,我也很感激关于如何使这个工作与数据库一起工作的提示。
谢谢。
go - tls:HTTP 请求没有重新协商错误
我正在尝试在 Go 中发出一个简单的 HTTP 请求,在直接按照指南进行操作后,我不断收到相同的错误:
local error: tls: no renegotiation
我不太明白如何解释这个?我知道这在服务器上不是问题,因为当我从 python 调用相同的请求时它返回正常。这是我的代码:
go - goroutine different behaviour for statement execution and function execution
Can anyone explain the difference between the following two calls regarding the goroutines?
Method 1
This stopes after executing the "Starting srv"
Method 2
This executes both "Starting srv" and "Starting intSrv"
Why the behaviour is different?
go - 当请求到达根目录时,从不同的目录提供文件
当客户端请求进入根目录时,我在从子目录中提供某些文件时遇到了一些麻烦。
我gorilla/mux
用来提供文件。下面是我的代码:
创建文件系统的代码在上面的initFileServer
函数中。
目前,它在用户访问时按预期提供静态文件localhost:3000/public/
。但是,我希望在用户转到localhost:3000/
.
我尝试将 ParsePrefix 函数调用更改为,r.PathPrefix("/").Handler(http.StripPrefix("/public/", fs))
但它不起作用。任何建议将不胜感激......我对 Go 很陌生。
go - 相当于 Python 的 requests.Session 以发出许多具有相同基本身份验证的请求?
考虑使用基本身份验证在 Go 中发出 HTTP 请求的示例:
请注意,这SetBasicAuth
是 an 的一个方法*http.Request
,所以如果我想发出很多请求,我必须在每个请求上调用这个方法。
requests.Session
在 Python 中,您可以在此示例中定义类似(来自https://requests.readthedocs.io/en/master/user/advanced/#session-objects):
是否有一种惯用的方式来定义requests.Session
Go 中的等价物(最好使用标准库)?我能想到的就是用自己的Do()
方法定义一个自定义客户端结构:
并在上面的脚本中调用它
这是避免多次调用的惯用方法SetBasicAuth()
吗?
go - HandleFunc 中的 http 主机和端口信息
我正在尝试启动多个 http 服务器侦听同一包中的不同端口。在我的测试 HandleFunc 函数中,我需要打印我们的主机和服务请求的 http 服务器的信息端口。我该怎么做?
这是我的示例代码:
go - 如何模拟多个 url 以返回夹具内容?
我正在编写某种递归解析器。最简单的形式是:
- 取自
all links
的first link
页面正文 - 对每个链接重复第一步
所以现在我想测试它。问题是我想不出模拟所有这些页面的最佳方法。我使用http
包,并且我已经使用httptest
包(通过httptest.NewServer
)编写了一些测试。但现在对我的任务似乎没有用。我想最好的方法是使用http.Client
自定义Transport
结构,但它有很多样板和额外的臭代码。有没有更优雅的方法来做到这一点?
go - 为多个端点设置 http 客户端?
我重用 http 客户端连接来对单个端点进行外部调用。该程序的摘录如下所示:
我现在需要建立与通过队列消息接收的不同端点/凭据的客户端连接。
我预见的问题是我不能简单地修改AppCon
新的端点详细信息,因为返回了一个指向的指针MyApp
,从而导致重置c
. 这可能会影响对非预期端点进行 HTTP 调用的 goroutine。为了使事情变得不简单,该程序并不意味着知道端点(我正在考虑使用switch
语句),而是通过队列消息接收它需要的东西。
鉴于我提出的问题是正确的,有没有关于如何解决它的建议?
编辑 1
根据提供的反馈,我倾向于相信这将解决我的问题:
- 删除使用 Singleton 的
MyApp
- 解耦 http 客户端,
MyApp
使其可以重用