以post方式携窗体等参数向服务器发送请求 发出去的字节流 返回的内容

181 篇文章 2 订阅

  //一、截取以post发送到服务器的申请信息流

        string postData = "aa=iceapple.net&bb=yibin.net" + TextBox1.Text;//指的是使用post方式提交的数据

        byte[] data = System.Text.Encoding.ASCII.GetBytes(postData);//参数必须变换成内容是Ascii码的 字节数组

 

        string url = "http://localhost:10730/WebSite32/Default.aspx";//1.如果是get方式的话,直接在url后+"?参数1=值1&参数2=值2..."即可

//2.最后要落实到动态网页(类似Default.aspx/jsp等)才能在后面二中返回字符串流

        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

        req.Method = "POST";

        req.ContentType = "application/x-www-form-urlencoded";//这里的ContentType很重要!

        req.ContentLength = data.Length;

        Stream requestStream = req.GetRequestStream();//获取数据流,该流是可写入的

        requestStream.Write(data, 0, data.Length);//发送数据流

        requestStream.Close();

 

        //二、返回1.htm传过去的相应参数后返回的网页字符串流

        HttpWebResponse res = (HttpWebResponse)req.GetResponse();

        StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);

        string backstr = sr.ReadToEnd();

        Response.Write(backstr);

        sr.Close();

        res.Close();

 

///

应用HttpWebRequest接收post或get数据

/*接收post数据

      string url=http://liuleiceshi.hexun.com/payment/WebForm1.aspx;

     string stext = HttpRequestFromPost(url, "s=1213213&t=1111");

*/

private string HttpRequestFromPost(string maiurl, string paramurl)     {       string strHtmlContent = "";       HttpWebRequest request;       try       {         Encoding encoding = Encoding.GetEncoding("GB2312");

        //声明一个HttpWebRequest请求         request = (HttpWebRequest)WebRequest.Create(maiurl);         request.Method = "POST";         request.ContentType = "application/x-www-form-urlencoded";         request.AllowAutoRedirect = true;         byte[] Postbyte = Encoding.ASCII.GetBytes(paramurl);         request.ContentLength = Postbyte.Length;

        Stream newStream = request.GetRequestStream();         newStream.Write(Postbyte, 0, Postbyte.Length);//把参数用流对象写入request对象中           newStream.Close();

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();//获得服务器响应对象          Stream resStream = response.GetResponseStream();//转成流对象           StreamReader sr = new StreamReader(resStream, encoding);         strHtmlContent = sr.ReadToEnd();         response.Close();       }       catch (Exception ex)       {         help.log("网支中连接接口出现问题,错误信息:"+help.SetErrorInfo(ex.Message));       }       finally       {         request = null;       }       if (strHtmlContent == null)         strHtmlContent = "";       return strHtmlContent;     }

/*

接收get数据

      string url="http://liuleiceshi.hexun.com/payment/WebForm1.aspx";       string stext = help.GetHtmlContent(url); */

    public string GetHtmlContent(string Url)     {       string strHtmlContent = "";       HttpWebRequest request;       try       {         //声明一个HttpWebRequest请求         request = (HttpWebRequest)WebRequest.Create(Url);         //连接超时时间         request.Timeout = 20000;         request.Headers.Set("Pragma", "no-cache");         HttpWebResponse response = (HttpWebResponse)request.GetResponse();         Stream streamHtmlCode = response.GetResponseStream();         Encoding encoding = Encoding.GetEncoding("GB2312");         StreamReader streamReader = new StreamReader(streamHtmlCode, encoding);         strHtmlContent = streamReader.ReadToEnd();       }       catch (Exception ex)       {         help.log("网支中连接接口出现问题,错误信息:"+SetErrorInfo(ex.Message));       }       finally       {         request = null;       }       if (strHtmlContent == null)         strHtmlContent = "";       return strHtmlContent;     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值