关于httpwebresponse和httpwebrequest的用法问题

39AjwtsjsrhfWnrC 2010-09-07 09:46:57
假设我这么一个post操作

 System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create
("http://httpWebRequest/httpWebRequest/httpWebRequest.aspx");

httpWebRequest.Method = "POST";

httpWebRequest.ContentType = "application/x-www-form-urlencoded"; //表头的格式必须要写,否则请求响应的页面得不到要传递的值

byte[] SomeBytes = System.Text.Encoding.Default.GetBytes("name=yang&passwod=123");//传递的值
req.ContentLength = SomeBytes.Length;
System.IO.Stream newStream = req.GetRequestStream();//把传递的值写到流中
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();//必须要关闭 请求
System.Net.HttpWebResponse httpWebResponse = null;
httpWebResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse();
System.IO.Stream s = httpWebResponse.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(s, System.Text.Encoding.Default);
string respHTML = reader.ReadToEnd();

Response.Write(respHTML);

s.Close();


自己代码不粘贴了.这是网上的.内容差不多


这么一个post之后.我进行get操作

System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("hettp://hibaidu.com/yangyuefei?name=yangshuai");//创建一个hettpReq请求对象,包含要传递的值name;

httpWebRequest.Method="GET";//传递的方法,必须要写,而已Get必须大写。

System.Net.HttpWebResponse httpWebResponse = (System.Net.HttpWebReponse)httpWebRequest.GetResponse();//创建一个响应对象,并重请求对象中得到响应对象的事例。

System.IO.Stream stream = new System.IO.Stream();//创建一个流对象(用来读取响应对象的内容)

stream = httpWebResponse.GetResponseStream();//得到回应过来的流

System.IO.StreamReader streamReader = new System.IO.StreamReader(stream,System.Text.Encoding.Default);//创建一个流的读取对象,用来输出传过来的内容

string strOut = streamReader.RedToEnd();
httpWebResponse.Close();//响应关闭,要不会占用网络资源
Response.Write(strOut);


看上去一切都很正常.但是如果我要get的是一个需要登陆的网页.
那么当然我之前post需要登陆.登陆我自己也实现了.(就是获得了登陆成功后的页面)
但就是之后get另一个页面还提示我需要登陆.
...全文
1263 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2010-09-07
  • 打赏
  • 举报
回复
CookieContainer
http://blog.csdn.net/donghaima/archive/2009/03/05/3959992.aspx
wuyq11 2010-09-07
  • 打赏
  • 举报
回复
CookieContainer co = new CookieContainer();
co.SetCookies(new Uri(server), cookie);
httpWebRequest.CookieContainer = co;
httpWebRequest.UserAgent =
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)";
httpWebRequest.Method = "GET";
39AjwtsjsrhfWnrC 2010-09-07
  • 打赏
  • 举报
回复
我要问的是如何实现那个cookie的使用

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧