为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
Qyouu 2023-06-26 18:02:28
我已成功向在我们的一台服务器上运行的 Web 服务发布了 http 请求。请注意,我没有编写 Web 服务,也无法访问源代码。工作代码:resp, err := http.Post("http://xxx.xxx.xx.xxx:8080/webservice/", "c:\\xml\\test.xml", nil)我现在不需要使用 xml 文件,而是需要从值列表构建 xml。我已经编写了一个函数来执行此操作,它基本上将 xml 拼凑在字符串生成器中。我的输出字符串看起来是正确的。我不确定的是如何发布 xml,因为 post 函数似乎采用文件路径而不是字符串?另外,将其构建为字符串是正确的方法还是我应该以不同的方式处理它?
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

我不确定你在哪里拍的

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

从。文档说的签名net/http.Post

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

即第二个参数是要发送的有效负载的内容类型,第三个参数是读取要发送的数据的源。

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

所以这个电话会变成

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



查看完整回答
反对 回复 2023-06-26
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信