zoukankan      html  css  js  c++  java
  • http协议的POST传数据

    PostRequest使用StreamWriter对象写入请求流,不需要使用HttpUtility.UrlEncode显示转码,而下面的需要显示转码,还需要将参数转为字节码

    蛋疼…………。

    public static string PostRequest(string url, string postData)
    {
    HttpWebRequest httpWebRequest = System.Net.WebRequest.Create(url) as HttpWebRequest;
    httpWebRequest.Method = "POST";
    httpWebRequest.ServicePoint.Expect100Continue = false;
    httpWebRequest.ContentType = "application/x-www-form-urlencoded";

    //写入POST参数
    StreamWriter requestWriter = new StreamWriter(httpWebRequest.GetRequestStream());
    try
    {
    requestWriter.Write(postData);
    }
    finally
    {
    requestWriter.Close();
    }

    //读取请求后的结果
    StreamReader responseReader = null;
    string responseData;
    try
    {
    responseReader = new StreamReader(httpWebRequest.GetResponse().GetResponseStream());
    responseData = responseReader.ReadToEnd();
    }
    finally
    {
    httpWebRequest.GetResponse().GetResponseStream().Close();
    responseReader.Close();
    }
    return responseData;
    }
    #endregion


    public static string HttpPostWebService(string url, string method, string num1)
    {
    string result = string.Empty;
    string param = string.Empty;
    byte[] bytes = null;

    Stream writer = null;
    HttpWebRequest request = null;
    HttpWebResponse response = null;

    param = HttpUtility.UrlEncode("name") + "=" + HttpUtility.UrlEncode(num1) ;
    bytes = Encoding.UTF8.GetBytes(param);

    request = (HttpWebRequest)WebRequest.Create(url + "/" + method);
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = bytes.Length;

    try
    {
    writer = request.GetRequestStream(); //获取用于写入请求数据的Stream对象
    }
    catch (Exception ex)
    {
    return "";
    }

    writer.Write(bytes, 0, bytes.Length); //把参数数据写入请求数据流
    writer.Close();

    try
    {
    response = (HttpWebResponse)request.GetResponse(); //获得响应
    }
    catch (WebException ex)
    {
    return "";
    }

    //#region 这种方式读取到的是一个返回的结果字符串
    //Stream stream = response.GetResponseStream(); //获取响应流
    //XmlTextReader Reader = new XmlTextReader(stream);
    //Reader.MoveToContent();
    //result = Reader.ReadInnerXml();
    //#endregion

    #region 这种方式读取到的是一个Xml格式的字符串
    StreamReader reader;
    Stream stream = response.GetResponseStream();
    reader = new StreamReader(stream, Encoding.UTF8);
    result = reader.ReadToEnd();
    #endregion

    //response.Dispose();
    response.Close();

    //reader.Close();
    //reader.Dispose();

    //Reader.Dispose();
    reader.Close();

    //stream.Dispose();
    stream.Close();

    return result;
    }

  • 相关阅读:
    leetcode5 Longest Palindromic Substring
    leetcode17 Letter Combinations of a Phone Number
    leetcode13 Roman to Integer
    leetcode14 Longest Common Prefix
    leetcode20 Valid Parentheses
    leetcode392 Is Subsequence
    leetcode121 Best Time to Buy and Sell Stock
    leetcode198 House Robber
    leetcode746 Min Cost Climbing Stairs
    tomcat下使用druid配置jnid数据源
  • 原文地址:https://www.cnblogs.com/boentouch/p/9995935.html
Copyright © 2011-2022 走看看