Jsp登录后数据采集---奇怪的Apache服务器
有個(gè)Jsp制作的站點(diǎn)有需要登錄后才可以獲取一些信息,一般網(wǎng)站,Asp,ASPX,都是通過(guò)Cookie或Session(使用Cookie做標(biāo)志)保持登錄狀態(tài),因此先訪問(wèn)登錄頁(yè)獲取Cookie,再將Cookie附加到請(qǐng)求中,獲取目標(biāo)頁(yè)即可, 結(jié)果昨天在那個(gè)Jsp站點(diǎn)中搞了一個(gè)下午無(wú)果,POST登錄頁(yè)是成功的,也返回了Seesion信息(如下)?,在設(shè)置request.AllowAutoRedirect = false;后可以正確的獲取到JSESSIONID,但是把這個(gè)JSESSIONID附加到新的請(qǐng)求(需要采集的頁(yè)面時(shí)),服務(wù)器始終返回500錯(cuò)誤!,
?郁悶中反復(fù)觀察標(biāo)頭信息.
//==============登后返回的標(biāo)頭信息
HTTP/1.1 302 Moved Temporarily
Set-Cookie: JSESSIONID=A8E7B16C1786F6E3D40457CF4258C4C2; Path=/ScoreTable
Location: http://xxx.com:8080/xxx.jsp
Content-Type: text/html;charset=GBK
Content-Length: 0
Date: Thu, 19 Feb 2009 03:07:28 GMT
Server: Apache-Coyote/1.1
//======================
信息中的Location時(shí)重定向命令產(chǎn)生的,這個(gè)在使用IE時(shí)會(huì)把頁(yè)面先定位到 http://xxx.com:8080/xxx.jsp,不過(guò)現(xiàn)在使用程序訪問(wèn)應(yīng)該在獲取cookie后可以忽略,直接訪問(wèn)目標(biāo)頁(yè)即可(至少在asp,aspx這樣的環(huán)境中是沒(méi)問(wèn)題的)....
最后無(wú)奈在程序完成cookie獲取后先訪問(wèn)一次http://xxx.com:8080/xxx.jsp,再訪問(wèn)目標(biāo)頁(yè)面,結(jié)果奇跡出現(xiàn),數(shù)據(jù)獲取成功,當(dāng)然2個(gè)請(qǐng)求都附加上獲取的session標(biāo)志.
?? 具體原因不知道,推測(cè)是Apache服務(wù)器的特殊性引起了,它也許會(huì)針對(duì)某個(gè)Session(一個(gè)會(huì)話)檢測(cè)Location命令有沒(méi)有被正確執(zhí)行, 最后望有達(dá)人指點(diǎn)!
轉(zhuǎn)載于:https://www.cnblogs.com/wdfrog/archive/2009/02/19/1393793.html
總結(jié)
以上是生活随笔為你收集整理的Jsp登录后数据采集---奇怪的Apache服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深入解读ADO.NET2.0的十大最新特
- 下一篇: 天生一对Maven2+Jetty --