帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

C#模拟http 发送post或get请求的简单实例

?

private string HttpPost( string Url, string postDataStr)

     {

       HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

       request.Method = "POST" ;

       request.ContentType = "application/x-www-form-urlencoded" ;

       request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);

       request.CookieContainer = cookie;

       Stream myRequestStream = request.GetRequestStream();

       StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding( "gb2312" ));

       myStreamWriter.Write(postDataStr);

       myStreamWriter.Close();

 

       HttpWebResponse response = (HttpWebResponse)request.GetResponse();

 

       response.Cookies = cookie.GetCookies(response.ResponseUri);

       Stream myResponseStream = response.GetResponseStream();

       StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding( "utf-8" ));

       string retString = myStreamReader.ReadToEnd();

       myStreamReader.Close();

       myResponseStream.Close();

 

       return retString;

     }

 

     public string HttpGet( string Url, string postDataStr)

     {

       HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?" ) + postDataStr);

       request.Method = "GET" ;

       request.ContentType = "text/html;charset=UTF-8" ;

 

       HttpWebResponse response = (HttpWebResponse)request.GetResponse();

       Stream myResponseStream = response.GetResponseStream();

       StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding( "utf-8" ));

       string retString = myStreamReader.ReadToEnd();

       myStreamReader.Close();

       myResponseStream.Close();

 

       return retString;

     }

在post的时候有时也用的到cookie,像登录163发邮件时候就需要发送cookie,所以在外部一个cookie属性随时保存 CookieContainer cookie = new CookieContainer();

注意: 有时候请求会重定向,但我们就需要从重定向url获取东西,像QQ登录成功后获取sid,但上面的会自动根据重定向地址跳转。我们可以用:

request.AllowAutoRedirect = false;设置重定向禁用,你就可以从headers的Location属性中获取重定向地址

以上这篇C#模拟http 发送post或get请求的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

dy(“nrwz”);

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《C#模拟http 发送post或get请求的简单实例》
文章链接:https://www.admin99.cn/7491
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册