2011-05-28 116 views
1

我試圖從shibboleth身份驗證保護的頁面中抓取數據。我無法讓cURL和webisoget正常工作。所以,我正在嘗試wget,因爲我想我可以通過我的證書並抓取我想要的網頁。但是,我也遇到了這個問題,我很難找到有關我的問題的文檔。如何使用shibboleth身份驗證保護頁面?

這裏是wget命令我試圖執行:

 
>wget --no-check-certificate --certificate=www.washington.edu.crt https://www.washington.edu/cec/i/INFO200A2821.html 

這是什麼,命令返回:

 
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc 
syswgetrc = c:/progra~1/wget/etc/wgetrc 
--2011-05-28 00:32:37-- https://www.washington.edu/cec/i/INFO200A2821.html 
Resolving www.washington.edu... 140.142.16.69, 140.142.11.167, 140.142.15.8 
Connecting to www.washington.edu|140.142.16.69|:443... connected. 
WARNING: cannot verify www.washington.edu's certificate, issued by `/C=ZA/ST=Wes 
tern Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/ 
CN=Thawte Premium Server CA/[email protected]': 
    Self-signed certificate encountered. 
HTTP request sent, awaiting response... 200 OK 
Length: 807 [text/html] 
Saving to: `INFO200A2821.html.2' 

100%[=====================================> ] 807   --.-K/s in 0s 

2011-05-28 00:32:38 (6.78 MB/s) - `INFO200A2821.html.2' saved [807/807] 

然而,儘管我收到一個網頁,它不包含我希望能夠刮掉的信息。返回的頁面包含一個表單,該表單在加載時自動提交表單。該表單包含pubcookie和relay_url的隱藏輸入字段。

我可以在使用我的憑證登錄時訪問該頁面。但是,我正在努力實現自動化並獲取信息。

回答

1

我不確定你可以用wget來做到這一點。 Shibboleth是SAML web SSO配置文件的實現,它期望您有一個有效的會話來訪問受保護的資源。如果沒有有效的會話,它會將您重定向到WAIF頁面,供您選擇適當的身份提供者。在訪問資源之前,必須執行一系列步驟。

您可以嘗試使用類似Mechanize.pm的Perl來自動執行認證過程,然後檢索受保護的資源。

相關問題