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

  • 相关阅读:
    windows AD监听的端口
    [FreeBSD] 双网卡绑定
    Kea DHCP MySQL
    NTP服务器知识整理
    linux的常用命令
    配置squid集成域身份认证
    Windows上配置PHP的LDAP扩展
    PHP下使用ldap域账户认证密码
    理解syslinux,SYSLINUX和PXELINUX
    优化pxe网启动时tftp的传输速度 --- 针对pxelinux和bootmgr
  • 原文地址:https://www.cnblogs.com/ghelement/p/5286630.html
Copyright © 2011-2022 走看看