//get

string res = GetStringByUrl("http://你的地址/WebService.asmx/方法名?参数=1");

//post

string res = RequestWebService("http://你的地址/WebService.asmx/方法名","参数");
Response.Write(res);

//get方法

public string GetStringByUrl(string strUrl)
{
//与指定URL创建HTTP请求
WebRequest wrt = WebRequest.Create(strUrl);
//获取对应HTTP请求的响应
WebResponse wrse = wrt.GetResponse();
//获取响应流
Stream strM = wrse.GetResponseStream();
//对接响应流(以"GBK"字符集)
StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));
//获取响应流的全部字符串
string strallstrm = SR.ReadToEnd();
//关闭读取流
SR.Close();
//返回网页html代码
return strallstrm;
}

//post方法

public string RequestWebService(string strUrl, string strPostData)
{
try
{
//构造请求
HttpWebRequest hwrRequest = (HttpWebRequest)WebRequest.Create(strUrl);
hwrRequest.Method = "POST";
hwrRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*";
hwrRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
hwrRequest.Headers.Add("Accept-Language", "zh-cn");
hwrRequest.Headers.Add("Cache-Control", "gzip, deflate");
hwrRequest.Headers.Add("KeepAlive", "TRUE");
hwrRequest.Headers.Add("ContentLength", strPostData.Length.ToString());
hwrRequest.ContentType = "application/x-www-form-urlencoded";
hwrRequest.Referer = strUrl;
hwrRequest.Headers.Add("UA-CPU", "x86");
hwrRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
hwrRequest.Timeout = 30000;
hwrRequest.ServicePoint.Expect100Continue = false;

//发送请求
byte[] bytPostData = Encoding.UTF8.GetBytes(strPostData);
Stream strStream = hwrRequest.GetRequestStream();
strStream.Write(bytPostData, 0, bytPostData.Length);
strStream.Close();

//就收应答
HttpWebResponse hwrResponse = (HttpWebResponse)hwrRequest.GetResponse();
Stream strStream1 = null;
if (hwrResponse.ContentEncoding == "gzip")
{
System.IO.Compression.GZipStream gzsStream = new System.IO.Compression.GZipStream(hwrResponse.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress);
strStream1 = gzsStream;
}
else
{
strStream1 = hwrResponse.GetResponseStream();
}

string strResult = new StreamReader(strStream1, System.Text.Encoding.UTF8).ReadToEnd();
hwrResponse.Close();

return strResult;
}
catch (Exception excResult)
{
return "";
}
}

C# WebRequest简单调用WebService方法的更多相关文章

  1. Java调用WebService方法总结(9,end)--Http方式调用WebService

    Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...

  2. Java调用WebService方法总结(8)--soap.jar调用WebService

    Apache的soap.jar是一种历史很久远的WebService技术,大概是2001年左右的技术,所需soap.jar可以在http://archive.apache.org/dist/ws/so ...

  3. Java调用WebService方法总结(6)--XFire调用WebService

    XFire是codeHaus组织提供的一个WebService开源框架,目前已被Apache的CXF所取代,已很少有人用了,这里简单记录下其调用WebService使用方法.官网现已不提供下载,可以到 ...

  4. winform客户端程序第一次调用webservice方法很慢的解决方法

    .net2.0的winform客户端最常用的与服务端通信方式是通过webservice,最近在用dottrace对客户端做性能测试的时候发现,客户端程序启动以后,第一次调用某一个webservice的 ...

  5. Java调用WebService方法总结(7)--CXF调用WebService

    CXF = Celtix + XFire,继承了Celtix和XFire两大开源项目的精华,是一个开源的,全功能的,容易使用的WebService框架.文中所使用到的软件版本:Java 1.8.0_1 ...

  6. Java调用WebService方法总结(5)--Axis2调用WebService

    Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构.文中demo所使用到的软件版本:Java 1.8.0_191.Axis2 1.7.9. 1.准备 参考 ...

  7. Java调用WebService方法总结(4)--Axis调用WebService

    Axis是比较常用的WebService框架,该项目在2006实现了最终版,后面就没有更新了.文中demo所使用到的软件版本:Java 1.8.0_191.Axis 1.4. 1.准备 参考Java调 ...

  8. Java调用WebService方法总结(3)--wsimport调用WebService

    wsimport是JDK自带的把WSDL转成Java的工具,可以很方便的生成调用WebService的代码.文中所使用到的软件版本:Java 1.8.0_191. 1.准备 参考Java调用WebSe ...

  9. Java调用WebService方法总结(2)--JAX-WS调用WebService

    用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...

随机推荐

  1. delphi变量作用域

    完全摘自网络(一件飘雪),供参考: 很多初学者对delphi单元的变量和函数访问权限不理解,在此我举例说明,希望初学者看此文后能茅塞顿开. delphi单元的变量和函数访问权限问题如下两个单元描述: ...

  2. Objective-C Runtime 运行时之一:类与对象(转载)

    Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...

  3. sqlmap基础使用

    测试许多款 sql注入工具 最终还是发现 sqlmap 最为强悍 谁用谁知道!赶紧抛弃掉手上一大堆 sql 注入工具吧 : )测试环境:ubuntu 10.10 & windows 7(x64 ...

  4. old linkedin profile

    employments: software engineer intern: Karl Storz Imaging, 2015-06 to 2015-09. software engineer int ...

  5. leaflet地图库

    an open-source JavaScript libraryfor mobile-friendly interactive maps Overview Tutorials Docs Downlo ...

  6. redis - 主从复制与主从切换

    redis2.8之前本身是不支持分布式管理的,一般建议使用redis3.0及以后版本 redis主从切换的方法 keepalive  或者 使用sentinel线程管理 说明如何使用sentinel实 ...

  7. 网站引导页flash动画跳转js脚本

    if (getCookie("guidance") == null) { document.cookie = "guidance=true"; window.l ...

  8. 发布webService

    创建webservices项目 1>创建web项目>添加新建项>webService>确认 注:webservices项目相当于就是UI ******************* ...

  9. 下载、安装jdk8(Windows下)并配置变量环境

    一.官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 点击下图中的downloa ...

  10. java中的词汇

    java中的词汇: 空白符:空格,制表符,换行符.他们的存在使得代码变得很美观. 标识符:由大小写字母,数字,下划线,美元符号组成.且数字不能用于标识符第一个字符. 字面值:变量的值通常使用表示常量的 ...