我正在尝试从受shibboleth身份验证保护的页面中删除数据。我无法让cURL和webisoget正常工作。所以,我正在尝试wget,因为我认为我可以通过我的证书并抓住我想要的页面。但是,我也遇到了麻烦,我很难找到有关我的问题的文档。
这是我试图执行的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/emailAddress=premium-server@thawte.com': 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的隐藏输入字段。
使用我的凭据登录时,我可以访问该页面。但是,我正在努力实现自动化并获取信息。
答案 0 :(得分:1)
我不确定你能用wget做到这一点。 Shibboleth是SAML Web SSO配置文件的实现,它希望您有一个有效的会话来访问受保护的资源。如果没有有效的会话,它将重定向到WAIF页面,以便您选择适当的身份提供者。在访问资源之前,必须执行一系列步骤。
您可以尝试使用Mechanize.pm之类的内容来自动执行身份验证过程,然后检索受保护的资源。