//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. E - Cup 2(dfs)

    E - Cup 2 Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Stat ...

  2. BFS,DFS伪代码

    //bfs #define queue_init (head=tail=0) #define queue_is_empty (head==tail) #define en_queue(x) (queu ...

  3. 最有用的Gulp插件汇总

    HTML&CSS autoprefixer - parse CSS and add vendor prefixes to rules by Can I Use. gulp-browser-sy ...

  4. centos7下用yum安装mysql5.7

    1.安装mysql源 下载地址:http://dev.mysql.com/downloads/repo/yum/ 下载之后用yum安装:yum localinstall -y xx.noarch.rp ...

  5. 拦截QWebView弹出窗口

    环境 系统:win7 64位旗舰版 软件:VS2013.QT5.5.1-32位 概述 当网页打开一个新的窗口时,我们有时候需要根据URL地址来判断弹出窗口是否合理,如果合理则弹出新窗口,否则不弹出.本 ...

  6. Convert a byte[] array to readable string format. This makes the "hex" readable!

    /* * Java Bittorrent API as its name indicates is a JAVA API that implements the Bittorrent Protocol ...

  7. C1FlexGrid小结(转自http://www.cnblogs.com/C1SupportTeam/archive/2012/12/11/2812316.html)

    C1FlexGrid控件来对一个表格格式中的数据进行显示,编辑,组和总结.该表格可以绑定到一个数据源,它可以对自己的数据进行管理. C1FlexGrid控件有一个包含以下元素的丰富的对象模型: 以下的 ...

  8. Linq入门

    一.Linq需要的C#语法支持: 1.隐式变量的使用var var使用时必须初始化      var是强类型数据 2.自动属性:public string FirstName{get ;set;} 3 ...

  9. javaWEB总结(10):HttpServlet成长史

    前言: 从Servlet,ServletConfig到GenericServlet再到Httpservlet的整个过程,相当于Httpservlet的成长史,我们不需要写那么臃肿的代码,开发难度由复杂 ...

  10. weex 语法高亮

    @1.ctrl+shift+p,调出控制命令面板,@2.输入pic,点击进入 @3.输入vue Syntax Highlight,等待下载 所有的sublime下载插件同理. vue Syntax H ...