发送Http请求调用webService
如果调用WebService的不是在.NET中,无法直接添加web引用,那怎么调用webservice。
有两种方式
第一种方式:GET方式
string strUrl = "http://127.0.0.1/rss/webservice.asmx/GetNews?topNum=2";
HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(strUrl);
hwrq.Method = "GET";
HttpWebResponse hwrp = (HttpWebResponse)hwrq.GetResponse();
Stream stream = hwrp.GetResponseStream();
XmlDocument doc = new XmlDocument();
doc.Load(stream);
string strLine = "";
XmlNodeList list = doc.GetElementsByTagName("Table");
for (int i = ; i < list.Count; i++)
{
XmlNodeList chlist = list[i].ChildNodes;
for (int j = ; j < chlist.Count; j++)
{
strLine = strLine + chlist[j].Name + "\t" + chlist[j].InnerText + "\n";
}
strLine = strLine + "\n";
}
StreamWriter sw = new StreamWriter(@"c:/c.txt");
sw.WriteLine(strLine);
sw.Flush();
sw.Close();
第二种方式:POST方式
string strUrl = "http://127.0.0.1/rss/webservice.asmx/GetNews";
HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(strUrl);
hwrq.Method = "POST";
hwrq.ContentType = "application/x-www-form-urlencoded";
String param1 = HttpUtility.UrlEncode("topNum");
param1 += "=" + HttpUtility.UrlEncode("");
byte[] bt = Encoding.UTF8.GetBytes(param1);
hwrq.ContentLength = bt.Length;
Stream sw = hwrq.GetRequestStream();
sw.Write(bt, , bt.Length);
sw.Close();
HttpWebResponse hwrp = (HttpWebResponse)hwrq.GetResponse();
Stream stream = hwrp.GetResponseStream();
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(stream);
XmlNodeList list = xmldoc.GetElementsByTagName("Table");
string strLine = "";
for (int i = ; i < list.Count; i++)
{
XmlNodeList chlist = list[i].ChildNodes;
for (int j = ; j < chlist.Count; j++)
{
strLine = strLine + chlist[j].Name + "\t" + chlist[j].InnerText + "\n";
}
strLine = strLine + "\n";
}
StreamWriter writer = new StreamWriter(@"c:\c.txt");
writer.WriteLine(strLine);
writer.Flush();
sw.Close();
get方式与post方式的主要区别在于post方式的参数要经过url编码,并在获得请求之前传送。
post的方式的参数一定要以实例中方式来写,否则会出现HTTP请求500错误。
string param1 = HttpUtility.UrlEncode("topNum");
param1+="="+HttpUtility.UrlEncode("5");
发送Http请求调用webService的更多相关文章
- Java 发送SOAP请求调用WebService,解析SOAP报文
https://blog.csdn.net/Peng_Hong_fu/article/details/80113196 记录测试代码 SoapUI调用路径 http://localhost:8082/ ...
- Js/Ajax中发送HttpPost请求调用WebService
1) WebService中的方法 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(Confo ...
- C# 使用 HttpPost 请求调用 WebService
之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最近发现还可以使用 Http 请求调用 WebService.这里还想说一句,还是 web api 的调用 ...
- Jmeter发送SOAP请求对WebService接口测试
Jmeter发送SOAP请求对WebService接口测试 1.测试计划中添加一个用户自定义变量 2.HTTP信息头管理器,添加Content-Tpe, application/soap+xml;c ...
- C# 使用 HttpPost 请求调用 WebService (转)
转自 https://www.cnblogs.com/Brambling/p/7266482.html 之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最 ...
- Java发布webservice应用并发送SOAP请求调用
webservice框架有很多,比如axis.axis2.cxf.xFire等等,做服务端和做客户端都可行,个人感觉使用这些框架的好处是减少了对于接口信息的解析,最主要的是减少了对于传递于网络中XML ...
- ajax跨域请求调用webservice接口
1.WebService 接口编写 步骤:新建web项目=>添加web service=>编写方法接口=>然后发布(本地测试可以直接把这个web service运行起来). 关键如何 ...
- java通过java.net.URL发送http请求调用接口
一般在*.html,*.jsp页面中我们通过使用ajax调用接口,这个是我们通常用的.对于这些接口,大都是本公司写的接口供自己调用,所以直接用ajax就可以.但是,如果是多家公司共同开发一个东西,一个 ...
- .asmx支持post请求或者get请求调用(WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法)
使用Post调用以asmx形式提供的webservice时,在本机调试没有调用问题.一旦部署至服务器后会提示如下信息: <html> <head> <title>因 ...
随机推荐
- 《浏览器工作原理与实践》<04>从输入URL到页面展示,这中间发生了什么?
“在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络.操作系统.Web 等一系列的知识. 在面试应聘者时也必问这 ...
- nginx 设置静态下载界面
首先,官方设置链接:https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/ 下面贴一个配置文件: cha ...
- 区块链火爆,再不知道Golang就晚了
Golang,也叫Go语言,是2009年刚刚被发发布的一门新语言. 区块链,是2019年我国提出的新战略. 一个不争的事实就是,大多数从事区块链开发的小伙伴都是用Golang,大多数招聘区块链技术工作 ...
- 工具---《.264视频 转成 MP4视频》
<.264视频 转成 MP4视频> 安装了“爱奇艺万能播放器”可以打开.264视频,但是opencv却不能直接读取.264视频,还是需要想办法“.264视频 转成 MP4/avi视频”. ...
- MySql链接url参数的设置
mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值 ...
- 调用jquery.Jcrop.min.js 切割图片 实例
需求是:上传一个图片,然后将上传的这个图片进行切割........ 首先是jsp页面.页面需要引入js <script src="${fileUrlPrx}/scripts/wap/ ...
- JavaScript程序设计——FOR循环
FOR循环流程图: 1.编写求6!的阶乘的代码 2.编写10个10相加的和 3.编写1+2+3+...+10连续相加的和 4.编写1+(1+2)+(1+2+3)+...+(1+2+3+...+10)连 ...
- 【csp模拟赛1】铁路网络 (network.cpp)
[题目描述] 在暑假来临之际,小 Z 的地理老师布置了一个暑假作业,让同学们暑假期间 了解一下 C 国的铁路发展史.小 Z 在多番查证资料后发现,C 国在铁路发展初期, 铁路网络有着一个严密规整的结构 ...
- Codeforces 1238E. Keyboard Purchase
传送门 注意到 $m$ 只有 $20$ ,考虑一下状压 $dp$ 设 $f[S]$ 表示当前确定的字符集合为 $S$ ,那么转移就考虑从最右边加入的下一个字符 $c$ 那么问题来了,代价如何计算 考虑 ...
- Java中final、finally、finalize
简述 final 可以用来修饰类.方法.变量,分别有不同的意义: final 修饰的 class 代表不可以继承扩展: final 的变量是不可以修改的:final 的方法也是不可以重写的(overr ...