如果调用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的更多相关文章

  1. Java 发送SOAP请求调用WebService,解析SOAP报文

    https://blog.csdn.net/Peng_Hong_fu/article/details/80113196 记录测试代码 SoapUI调用路径 http://localhost:8082/ ...

  2. Js/Ajax中发送HttpPost请求调用WebService

    1) WebService中的方法 [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(Confo ...

  3. C# 使用 HttpPost 请求调用 WebService

    之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最近发现还可以使用 Http 请求调用 WebService.这里还想说一句,还是 web api 的调用 ...

  4. Jmeter发送SOAP请求对WebService接口测试

    Jmeter发送SOAP请求对WebService接口测试 1.测试计划中添加一个用户自定义变量 2.HTTP信息头管理器,添加Content-Tpe,  application/soap+xml;c ...

  5. C# 使用 HttpPost 请求调用 WebService (转)

    转自 https://www.cnblogs.com/Brambling/p/7266482.html 之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最 ...

  6. Java发布webservice应用并发送SOAP请求调用

    webservice框架有很多,比如axis.axis2.cxf.xFire等等,做服务端和做客户端都可行,个人感觉使用这些框架的好处是减少了对于接口信息的解析,最主要的是减少了对于传递于网络中XML ...

  7. ajax跨域请求调用webservice接口

    1.WebService 接口编写 步骤:新建web项目=>添加web service=>编写方法接口=>然后发布(本地测试可以直接把这个web service运行起来). 关键如何 ...

  8. java通过java.net.URL发送http请求调用接口

    一般在*.html,*.jsp页面中我们通过使用ajax调用接口,这个是我们通常用的.对于这些接口,大都是本公司写的接口供自己调用,所以直接用ajax就可以.但是,如果是多家公司共同开发一个东西,一个 ...

  9. .asmx支持post请求或者get请求调用(WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法)

    使用Post调用以asmx形式提供的webservice时,在本机调试没有调用问题.一旦部署至服务器后会提示如下信息: <html> <head> <title>因 ...

随机推荐

  1. 【pycharm】pycharm断点调试

    step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数): step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止, ...

  2. 【异常】‘for’ loop initial declarations are only allowed in C99 mode

    1 Python版本导致的异常 /root/Python-3.5.7/Modules/_pickle.c: In function ‘PyMemoTable_Copy’: /root/Python-3 ...

  3. 前端基础(九):SweetAlert(弹出框)

    简介 SweetAlert是一款很好用的弹出框框架 下载 点我下载 导入 博主用的是bootstrap-sweetalert,所以要依赖bootstrap,导入前先导入原生jQuery以及bootst ...

  4. idHTTP.Post

    procedure TForm4.Button2Click(Sender: TObject); var sResponse: string; EnvStr : TStringStream; begin ...

  5. java——OOM内存泄漏

    资料: 一.什么是OOM OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个erro ...

  6. ubuntu16.04中不能连接无线网络

    安装完ubuntu desktop版之后,无线网络连接中没有出现当前可以连接的wifi列表. 直接插上网线之后,是可以上网的.但是还是不是很方便, 可以点击右上角的齿轮-->system set ...

  7. MySQL JSON类型

    MySQL支持JSON数据类型.相比于Json格式的字符串类型,JSON数据类型的优势有: 存储在JSON列中的JSON文档的会被自动验证.无效的文档会产生错误: 最佳存储格式.存储在JSON列中的J ...

  8. Redis入门(三)——主从服务器配置

    当数据量变得庞大的时候,读写分离还是很有必要的.同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能.redis提供了一个master,多个sl ...

  9. 在js中获取 input checkbox里选中的多个值

    思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中,false表示未选中).下面进行实例演示: 1.html中展示: <input type=& ...

  10. Spring基础(一)------装配Bean

    一.Spring配置的可选方案 三种主要的装配机制: 在xml文件中进行显示配置: 在java中进行显示配置: 隐式的bean发现机制和自动装配. 使用建议:尽可能使用自动配置的机制,显示配置越少越好 ...