C# WebRequest简单调用WebService方法

 

//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 "";
}
}

转载于:https://www.cnblogs.com/ghelement/p/5286630.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值