打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
发送Http请求调用webService

如果调用WebService的不是在.NET中,无法直接添加web引用,那怎么调用webservice。

有两种方式

第一种方式:GET方式

 1   string strUrl = "http://127.0.0.1/rss/webservice.asmx/GetNews?topNum=2"; 2         HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(strUrl); 3         hwrq.Method = "GET"; 4         HttpWebResponse hwrp = (HttpWebResponse)hwrq.GetResponse(); 5         Stream stream = hwrp.GetResponseStream(); 6         XmlDocument doc = new XmlDocument(); 7         doc.Load(stream); 8         string strLine = ""; 9         XmlNodeList list = doc.GetElementsByTagName("Table");10         for (int i = 0; i < list.Count; i++)11         {12             XmlNodeList chlist = list[i].ChildNodes;13             for (int j = 0; j < chlist.Count; j++)14             {15                 strLine = strLine + chlist[j].Name + "\t" + chlist[j].InnerText + "\n";16             }17             strLine = strLine + "\n";18         }19         StreamWriter sw = new StreamWriter(@"c:/c.txt");20         sw.WriteLine(strLine);21         sw.Flush();22         sw.Close();

第二种方式:POST方式

 1 string strUrl = "http://127.0.0.1/rss/webservice.asmx/GetNews"; 2         HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(strUrl); 3         hwrq.Method = "POST"; 4         hwrq.ContentType = "application/x-www-form-urlencoded"; 5         String param1 = HttpUtility.UrlEncode("topNum"); 6         param1 += "=" + HttpUtility.UrlEncode("5"); 7         byte[] bt = Encoding.UTF8.GetBytes(param1); 8         hwrq.ContentLength = bt.Length; 9         Stream sw = hwrq.GetRequestStream();10         sw.Write(bt, 0, bt.Length);11         sw.Close();12         HttpWebResponse hwrp = (HttpWebResponse)hwrq.GetResponse();13         Stream stream = hwrp.GetResponseStream();14         XmlDocument xmldoc = new XmlDocument();15         xmldoc.Load(stream);16         XmlNodeList list = xmldoc.GetElementsByTagName("Table");17         string strLine = "";18         for (int i = 0; i < list.Count; i++)19         {20             XmlNodeList chlist = list[i].ChildNodes;21             for (int j = 0; j < chlist.Count; j++)22             {23                 strLine = strLine + chlist[j].Name + "\t" + chlist[j].InnerText + "\n";24             }25             strLine = strLine + "\n";26         }27         StreamWriter writer = new StreamWriter(@"c:\c.txt");28         writer.WriteLine(strLine);29         writer.Flush();30         sw.Close();

get方式与post方式的主要区别在于post方式的参数要经过url编码,并在获得请求之前传送。

post的方式的参数一定要以实例中方式来写,否则会出现HTTP请求500错误。

string param1 = HttpUtility.UrlEncode("topNum");

param1+="="+HttpUtility.UrlEncode("5");

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#通过http下载文件简单示例代码
基于C#的词典接口调用代码实例
网页静态化,生成静态文件的类
C#写一个采集器
C# WebRequest发起Http Post请求模拟登陆并cookie处理示例
asp.net生成html静态页的多种方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服