http - 如何在http get中将多个字符串传递给一个url?
问题描述
这是我当前的代码:
var dek string = "dk"
resp,err := c.Get("https://google."VALUEHERE"")
如果我需要一堆不同的字符串,我希望能够将不同的字符串传递到我的 url 中。
所以理想情况下是这样的:
resp,err := c.Get("https://google.dk/value1=%v&value2=%v", value1, value2)
这有可能吗?
解决方案
用于fmt.Sprintf(...)
构建不需要编码的字符串:
hostname := fmt.Sprintf("google.%s", "dk")
// => "google.dk"
使用该net/url
包构建 URL,以便它们被正确编码:
u := &url.URL{Scheme: "https", Host: hostname}
fmt.Println(u)
// => https://google.dk
q := u.Query()
q.Add("value1", "foo")
q.Add("value2", "Hello, World!")
u.RawQuery = q.Encode()
fmt.Println(u)
// => https://google.dk?value1=foo&value2=Hello%2C+World%21
resp, err := c.Get(u.String())
// ...
推荐阅读
- django - Windows 托管的 Django 应用程序突然停止工作
- javascript - JavaScript Jasmine 框架如何编写测试失败案例
- cil - LocalVarSig 可以有多个约束属性吗?
- xamarin.ios - 如何创建以圆圈为中心的用户姓名缩写的圆圈图像
- haskell - (Floating Int) (Fractional Int) 没有实例
- android - 如何优化张量流对象检测器?
- python - crontab 不会执行我的 python 程序
- python - 发送任何大小和格式的文件的最快方法是什么?
- python-3.x - Python tkinter 破坏标签
- classification - 如何预测失败的持续时间?