• .net 模拟GET或者POST请求 传参URL和获取返回值


    简单GET请求:
    string url = "http://i******com.cn/fcps-uat/rest/eip/eipNotice?inputJson=";
                        System.Net.WebRequest wrq = System.Net.WebRequest.Create(url + strparam);
                        wrq.Method = "GET";
                        System.Net.WebResponse wrp = wrq.GetResponse();
                        System.IO.StreamReader sr = new System.IO.StreamReader(wrp.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8"));
                        strResult = sr.ReadToEnd();
    
    
    #region 通讯函数 
    /// <summary>
    /// 通讯函数
    /// </summary>
    /// <param name="url">请求Url</param>
    /// <param name="para">请求参数</param>
    /// <param name="method">请求方式GET/POST</param>
    /// <returns></returns>
    public static string SendRequest(string url, string para, string method)
    {
    string strResult = "";
    if (url == null || url == "")
    return null;
    if (method == null || method == "")
    method = "GET";
    // GET方式
    if (method.ToUpper() == "GET")
    {
    try
    {
    System.Net.WebRequest wrq = System.Net.WebRequest.Create(url + para);
    wrq.Method = "GET";
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
    System.Net.WebResponse wrp = wrq.GetResponse();
    System.IO.StreamReader sr = new System.IO.StreamReader(wrp.GetResponseStream(), System.Text.Encoding.GetEncoding("gb2312"));
    strResult = sr.ReadToEnd();
    }
    catch (Exception ex)
    {
    return ex.Message;
    }
    }
    // POST方式
    if (method.ToUpper() == "POST")
    {
    if (para.Length > 0 && para.IndexOf('?') == 0)
    {
    para = para.Substring(1);
    }
    WebRequest req = WebRequest.Create(url);
    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
    StringBuilder UrlEncoded = new StringBuilder();
    Char[] reserved = { '?', '=', '&' };
    byte[] SomeBytes = null;
    if (para != null)
    {
    int i = 0, j;
    while (i < para.Length)
    {
    j = para.IndexOfAny(reserved, i);
    if (j == -1)
    {
    UrlEncoded.Append(HttpUtility.UrlEncode(para.Substring(i, para.Length - i), System.Text.Encoding.GetEncoding("gb2312")));
    break;
    }
    UrlEncoded.Append(HttpUtility.UrlEncode(para.Substring(i, j - i), System.Text.Encoding.GetEncoding("gb2312")));
    UrlEncoded.Append(para.Substring(j, 1));
    i = j + 1;
    }
    SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
    req.ContentLength = SomeBytes.Length;
    Stream newStream = req.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();
    }
    else
    {
    req.ContentLength = 0;
    }
    try
    {
    WebResponse result = req.GetResponse();
    Stream ReceiveStream = result.GetResponseStream();
    Byte[] read = new Byte[512];
    int bytes = ReceiveStream.Read(read, 0, 512);
    while (bytes > 0)
    {
    // 注意:
    // 下面假定响应使用 UTF-8 作为编码方式。
    // 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句:
    // Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
    Encoding encode = System.Text.Encoding.GetEncoding("gb2312");
    strResult += encode.GetString(read, 0, bytes);
    bytes = ReceiveStream.Read(read, 0, 512);
    }
    return strResult;
    }
    catch (Exception ex)
    {
    return ex.Message;
    }
    }
    return strResult;
    }
    #endregion
    #region 简化通讯函数
    /// <summary>
    /// GET方式通讯
    /// </summary>
    /// <param name="url"></param>
    /// <param name="para"></param>
    /// <returns></returns>
    public static string SendRequest(string url, string para)
    {
    return SendRequest(url, para, "GET");
    }
    #endregion



  • 相关阅读:
    让IIS支持解析.json格式文件
    请问4-20位字符可由中文,英文,数字及“—”,“-”组成 正则表达式
    jquery中的$(document).ready(function(){})和$(window).load()比较
    根据数组对象的某个属性值找到指定的元素
    JS数组中的indexOf方法
    bat修改注册表
    生动详细解释javascript的冒泡和捕获
    Jquery Easyui与Jquery Bootstrap的比较
    缺少的文件是 ..packagesMicrosoft.Net.Compilers.1.0.0uildMicrosoft.Net.Compilers.props。
    C#中ToString()格式详解
  • 原文地址:https://www.cnblogs.com/wybshyy/p/16042692.html
Copyright © 2020-2023  润新知