高手帮忙啊!!如何在HttpWebRequest请求时让Session不丢失
//1.aspx
protected void Page_Load(object sender, EventArgs e)
{
//给会话添加一项
Session.Add("ss", "ttttt");
//请求2.aspx得到HTML
string s = HttpWebResponsePost("http://localhost:1155/Web/2.aspx", "", "utf-8");
Response.Write(s);
}
public static string HttpWebResponsePost(string url, string postData, string encodeType)
{
Stream outstream = null;
Stream instream = null;
StreamReader sr = null;
HttpWebResponse response = null;
HttpWebRequest request = null;
Encoding encoding = Encoding.GetEncoding(encodeType);
byte[] data = encoding.GetBytes(postData);
try
{
request = WebRequest.Create(url) as HttpWebRequest;
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 = request.GetResponse() as HttpWebResponse;
instream = response.GetResponseStream();
sr = new StreamReader(instream, encoding);
string content = sr.ReadToEnd();
return content;
}
catch (Exception ex)
{
return string.Empty;
}
}
//被请求的2.aspx
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("request page... Session Count:"+Session.Count);
}
结果:"request page... Session Count:0"
说明这他们不在一个会话中 有什么办法让他们在一个会话中 共享Session
相关推荐
.NET发起web请求时维持Session
一般使用.NET C#发起一个web请求是用WebClient类,应为使用很简单,但是每调用一次OpenRead就会在服务器启用一个新Session,使用HttpWebRequest + CookieContainer就可以让多个web请求只有一个session。
WinformC# 模拟登陆百度 HttpWebRequest的应用
可以参考教程www.crifan.com/emulate_login_website_using_csharp WinformC# 模拟登陆百度 HttpWebRequest的应用 详细的代码和注释 可以充分了解HttpWebRequest 操作网站 操作Cookie的过程和方法 可以扩展为很多的应用开发,比如百度文库财富自动获取、贴吧一键签到、管理;其他网站的一些功能开发;接口的开发、网页的抓取等等。
WebRequest保持Session的方法
每次请求,服务端是不同的Session, 提供了解决方法登录保持Session的解决方法。
C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法
本文实例讲述了C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法,在项目开发中有一定的实用价值,具体方法如下: 一、前言: 这篇文章翻译来自madmik3 写在 CodeProject 上的文章,原标题为: C#’s WebClient.UploadFile with more functionality. 二、正文: 我们使用 WebRequest 来获取网页内容是非常简单的,可是用他来上传文件就没有那么简单了。 如果我们在网页中上传文件,加入下面代码即可: HTML 文件上传代码实例: <form action =http://localhost/test.ph
在C#中可以使用CookieContainer 对象来保存登录后的Cookie信息
在C#中可以使用CookieContainer 对象来保存登录后的Cookie信息



