2011-08-08 24 views
0
import urllib2,urllib 

data = urllib.urlencode({"username" : "usr", "password" : "pass", "lang" : "eng", "usertype" : "cashier", "submit" : "Enter"}) 
req = urllib2.Request("https://website/index.php", data) 
opener = urllib2.build_opener() 
response = opener.open(req) 
the_page = response.read() 
print the_page 

OUTPUT:urllib2的JavaScript重定向問題

<script type="text/javascript">window.location.href = "/h383/list.php";</script> 

所以我想達到list.php的任何建議?

回答

2

首先,嘗試向網站管理員發送關於優雅降級和網絡標準的嚴厲講座。

如果失敗,那麼你最終有兩個選擇:

  1. 提取使用正則表達式的重定向位置。 (Pro:這很簡單,缺點:如果重定向URL是使用JavaScript構建的,而不是顯示爲單個字符串,那麼這將不起作用。此外,腳本中的細微更改 - 即使添加了空白 - 可能會破壞你的表情。)
  2. 通過JavaScript運行時運行腳本,提供windowwindow.location對象,並將該對象捕獲到它的href屬性。 (優點:這將允許JS構建的URL工作,並且是相當面向未來的。缺點:這可能是過度工程,並不是一項簡單的任務。)
+0

第一個解決方案因爲每個頁面有JavaScript重定向。轉到第二個 – snagcheol

+0

@snagcheol:你是什麼意思「*每個*頁面都有javascript重定向」?如果每個頁面重定向,您都無法完成任何事情。如果它只是很多,除非你無法解析它,否則我仍然沒有看到這是一個問題。無論如何,你想做什麼? –