C# HTTP

/// <summary>
  /// 返回URL内容,带POST数据提交
  /// </summary>
  /// <param name="url"></param>
  /// <param name="data"></param>
  /// <param name="method">GET/POST(默认)</param>
  /// <returns></returns>
  public static string SendData(string url,string data,string method)
  {
   WebRequest wr = WebRequest.Create(url);//http://192.168.0.179:57/test1.aspx
   wr.Method = method;
   wr.ContentType = "application/x-www-form-urlencoded";
   char[] reserved = {'?', '=', '&'};
   StringBuilder UrlEncoded = new StringBuilder();
   byte[] SomeBytes = null;
   if (data != null) 
   {
    SomeBytes = EncodedData(data);
    wr.ContentLength = SomeBytes.Length;
    Stream newStream = wr.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();
   }
   else
   {
    wr.ContentLength = 0;
   }
   string re = "";
   try
   {
    WebResponse result = wr.GetResponse();
    Stream ReceiveStream = result.GetResponseStream();

    Byte[] read = new Byte[512];
    int bytes = ReceiveStream.Read(read, 0, 512);

    re = "";
    while (bytes > 0)
    {

     // 注意:
     // 下面假定响应使用 UTF-8 作为编码方式。
     // 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句:
     //  Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
     Encoding encode = System.Text.Encoding.GetEncoding("gb2312");
     re += encode.GetString(read, 0, bytes);
     bytes = ReceiveStream.Read(read, 0, 512);
    }
   }
   catch(Exception e)
   {
    re = e.Message;
   }
   return re;
  }
posted @ 2013-10-23 15:43  If_1989  阅读(210)  评论(0编辑  收藏  举报