zoukankan      html  css  js  c++  java
  • 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 "";
    }
    }

  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/ghelement/p/5286630.html
Copyright © 2011-2022 走看看