内容简介:以post请求为例,post方式,go访问webservice很简单,使用http.Post方法。参数则写起来比较麻烦,使用xml拼接方式。
以post请求为例,
post方式,go访问webservice很简单,使用http.Post方法。
参数则写起来比较麻烦,使用xml拼接方式。
我们来看在postman中如何访问的: https://blog.csdn.net/yysyangyangyangshan/article/details/86650012 ,这里需要把参数拼接成xml格式。
看代码如何实现,
package main import ( "fmt" "net/http" "io/ioutil" "bytes" "unsafe" ) func checkErr(err error){ if err!=nil{ panic(err) } } func main(){ //测试调用webservice paras :="<paraName1>hhhh</paraName1 >"+ "<paraName2>kkkk</paraName2>"+ "<paraName3>TY</paraName3>"+ "<paraName4>1</paraName4>" postStr := GenSOAPXml("http://tempuri.org/", "MethodName", paras) PostWebService("http://ganmane.com/hehe/wodishen.asmx", "MethodName", postStr) } func PostWebService(url string, method string, value string) string { res, err := http.Post(url, "text/xml; charset=utf-8", bytes.NewBuffer([]byte(value))) //错误日志 if err != nil { fmt.Println("post error", err) } data, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println("read error", err) } res.Body.Close() fmt.Printf("result----%s", data) str :=(*string)(unsafe.Pointer(&data)) return *str } func GenSOAPXml(nameSpace string, methodName string, valueStr string) string { soapBody := `<?xml version="1.0" encoding="utf-16"?>` soapBody += `<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">` soapBody += " <soap:Body>" soapBody += "<" + methodName + " xmlns=\"" + nameSpace + "\">" //以下是具体参数 soapBody += valueStr soapBody += "</" + methodName + "> </soap:Body></soap:Envelope>" fmt.Println(soapBody) return soapBody }
代码中对应地方改为实际的参数和地址方法即可。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 用代码说话!机器学习能预测股市吗?
- 少说话多写代码之Python学习002——环境搭建
- 少说话多写代码之Python学习021——导入模块
- 少说话多写代码之Python学习009——字典的创建
- 少说话多写代码之Python学习020——使用逗号输出
- 少说话多写代码之Python学习042——类04(超类 )
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
工程问题C++语言求解
Delores M.Etter、Jeanine A.Ingber / 冯力、周凯 / 机械工业出版社 / 2014-8 / 79元
本书介绍了如何利用ANSIC++编程语言以基于对象的编程方式来解决工程问题。书中引用了大量来自于不同工程、科学和计算机科学领域的示例,是一本理论和实践结合紧密的教材。针对C++基本语法的各个部分,由浅入深地进行讲解。每讲解一部分基础知识,同时会结合多个相关实例,实例内容详实,紧贴所讲内容,使读者能够立刻对所学知识进行练习,实战性强。一起来看看 《工程问题C++语言求解》 这本书的介绍吧!