提问人:joshua29 提问时间:11/20/2014 最后编辑:John Weldonjoshua29 更新时间:5/3/2016 访问量:18624
Go net/http 请求 [duplicate]
Go net/http request [duplicate]
问:
有人可以帮忙将我的 ruby 代码转换为 Go 吗?请参考下面我的红宝石代码。
query= "test"
request = Net::HTTP::Post.new(url)
request.body = query
response = Net::HTTP.new(host, post).start{|http http.request(request)}
去。
答:
23赞
VonC
11/20/2014
#1
您似乎想发布一个查询,类似于以下答案:
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "http://xxx/yyy"
fmt.Println("URL:>", url)
var query = []byte(`your query`)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(query))
req.Header.Set("X-Custom-Header", "myvalue")
req.Header.Set("Content-Type", "text/plain")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("response Status:", resp.Status)
fmt.Println("response Headers:", resp.Header)
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("response Body:", string(body))
}
如果查询是 JSON 查询,请将 “” 替换为 “”。text/plain
application/json
评论
0赞
joshua29
11/20/2014
我试试这个答案。但没有成功。我需要输入服务器的端口和主机
0赞
VonC
11/20/2014
@joshua29这是一个开始,您可以在 golang.org/pkg/net/http 上看到更多信息。关于“输入”其他数据,这是另一个问题,不属于您的原始问题。
0赞
joshua29
11/20/2014
无论如何,感谢您的回复。我会再试一次解决方案。
0赞
VonC
11/20/2014
@joshua29请注意,您可以在 URL 中显示您的服务器和端口号。http://yourServer:xx/...
1赞
VonC
5/3/2016
@Ingo我同意,并且我已经相应地编辑了答案。谢谢。
评论