jie blog

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  string sterr = null;
  string UrlWeb = "网址";
  string UrlText = "要提交的数据";
  textBox1.Text = PostPage(UrlWeb, UrlText, "gb2312", out sterr);

public static string PostPage(string url, string postData, string encodeType,out string err)
{
  Stream outstream = null;
  Stream instream = null;
  StreamReader sr = null;
  HttpWebResponse response = null;
  HttpWebRequest request = null;
  string content = null;

// Encoding encoding = Encoding.UTF8;
  Encoding encoding = Encoding.GetEncoding(encodeType);
  byte[] data = encoding.GetBytes(postData);

  int iConnect = 0;
  while (iConnect < 10) //提交10次,如果不成功则返回null
  {
    // 准备请求...
    try
    {
      // 设置参数
      request = (HttpWebRequest)WebRequest.Create(url);
      CookieContainer cookieContainer = new CookieContainer();
      request.CookieContainer = cookieContainer;
      request.AllowAutoRedirect = true;
      request.Method = "POST";
      request.ContentType = "application/x-www-form-urlencoded";
      request.ContentLength = data.Length;

      outstream = request.GetRequestStream();
      outstream.Write(data, 0, data.Length);
      outstream.Close();

      //发送请求并获取相应回应数据
      response = (HttpWebResponse)request.GetResponse();

      //直到request.GetResponse()程序才开始向目标网页发送Post请求
      instream = response.GetResponseStream();
      sr = new StreamReader(instream, encoding);

     //返回结果网页(html)代码
      content = sr.ReadToEnd();
      err = string.Empty;

      return content;
    }
    catch (Exception ex)
    {
      err = ex.Message;
      iConnect++;
      if (iConnect >= 10)
        return string.Empty;
      else continue;
    }
  }

  err = string.Empty;
  if (iConnect >= 10)
    return string.Empty;
  else
    return content;
}
posted on 2007-11-29 16:56  jie2008  阅读(1928)  评论(0编辑  收藏  举报