gpt4 book ai didi

xml - 如何将我的 XML 字符串发布到 Web 服务而不是 xml 文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:46:52 25 4
gpt4 key购买 nike

我已成功向在我们其中一台服务器上运行的 Web 服务发送了一个 http 请求。

请注意,我没有编写 Web 服务,也无法访问源代码。

工作代码:

resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "c:\\xml\\test.xml", nil)

我现在不是使用 xml 文件,而是需要从值列表构建 xml。

我已经编写了一个函数来执行此操作,它基本上将字符串生成器中的 xml 拼凑在一起。我的输出字符串看起来是正确的。

我不确定如何发布 xml,因为发布函数似乎采用文件路径而不是字符串路径?

同时将它作为一个字符串构建在一起是正确的方法还是我应该以不同的方式处理它?<​​/p>

最佳答案

我不知道你去了哪里

resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "c:\\xml\\test.xml", nil)

从。 The docs假设 net/http.Post 的签名是

func Post(url, contentType string, body io.Reader) (resp *Response, err error)

即第二个参数是content type要发送的有效负载,第三个是要从中读取要发送的数据的源。

因此,如果您有一个包含 XML 数据的字符串(使用字符串操作构建 XML 文档几乎总是一件错误的事情,但我们现在不要离题),你可以有一个 io.Reader 通过调用从中读取数据strings.NewReader() 在你的字符串上。

所以调用会变成

resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "application/xml", strings.NewReader(yourStringWithXML))

关于xml - 如何将我的 XML 字符串发布到 Web 服务而不是 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com