内容简介:以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(超类 )
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
函数式算法设计珠玑
Richard Bird / 苏统华、孙芳媛、郝文超、徐琴 / 机械工业出版社 / 2017-4-1 / 69.00
本书采用完全崭新的方式介绍算法设计。全书由30个珠玑构成,每个珠玑单独列为一章,用于解决一个特定编程问题。这些问题的出处五花八门,有的来自游戏或拼图,有的是有趣的组合任务,还有的是散落于数据压缩及字串匹配等领域的更为熟悉的算法。每个珠玑以使用函数式编程语言Haskell对问题进行描述作为开始,每个解答均是诉诸于函数式编程法则从问题表述中计算得到。本书适用于那些喜欢学习算法设计思想的函数式编程人员、......一起来看看 《函数式算法设计珠玑》 这本书的介绍吧!