首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

HttpURLConnection 得不到cookie里的sessionID?解决办法

2012-07-01 
HttpURLConnection 得不到cookie里的sessionID?目标网站:http://shua.zhuzhuxc.com访问时,用wireshark抓包

HttpURLConnection 得不到cookie里的sessionID?
目标网站:http://shua.zhuzhuxc.com
访问时,用wireshark抓包,可以看到 Cookie:AJSTAT_ok_times=8; AJSTAT_ok_pages=17; ASP.NET_SessionId=fq0cag55golsxin5xzndadzg
可是用HttpURLConnection时,就是得不到,查了资料后,发现,.net里好像是在第一次访问时,给客户分配一个非永久性的 cookie,不会放在cookies文件夹里,只放在内存中,是不是这样,就没法用程序得到这个ASP.NET_SessionId了呢? 顺便问一下,在抓包中看到提交的数据中LoginBtn.x=12&LoginBtn.y=58,请问这两个数据是怎么来的,我在提交的表单中硬是没找到啊,我是学java,对net不是很熟,谢谢帮助!
我用的java,代码如下:

Java code
    public static void main(String[] args) throws Exception {        URL url = new URL("http://shua.zhuzhuxc.com/login.aspx");        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();        Map map = urlConnection.getHeaderFields();        Set ks = map.keySet();        for (Iterator iterator = ks.iterator(); iterator.hasNext();) {            String key = (String) iterator.next();            System.out.println(key+":"+map.get(key));        }    }

得到的结果如下:
null:[HTTP/1.1 200 OK]
X-AspNet-Version:[2.0.50727]
Date:[Fri, 12 Nov 2010 03:17:48 GMT]
Content-Length:[15881]
Content-Type:[text/html; charset=utf-8]
Server:[Microsoft-IIS/6.0]
X-Powered-By:[ASP.NET]
Cache-Control:[private]


[解决办法]
Cookies:
Response.Cookies["username"].Value = TextBox1.Text.Trim(); //保存 
Response.Cookies["username"].Expires = DateTime.Now.AddDays(1);//过期时间 
this.Label1.Text = "用户名:" + Request.Cookies["username"].Value;//获取 

Session:
Session["SessionID"]=TextBox1.Text.Trim(); //保存 
TextBox1.Text=Session["SessionID"].ToString();//获取
[解决办法]
LoginBtn.x=12&LoginBtn.y

是点击<input name="LoginBtn" type=image src="x.gif">这样的提交按钮生成的

热点排行