2

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
www.washington.edu を解決しています... 140.142.16.69、140.142.11.167、140.142.15.8
www.washington.edu|140.142.16.69|:443... に接続しています... 接続しました。
警告: `/C=ZA/ST=Wes によって発行された www.washington.edu の証明書を検証できません
tern Cape/L=ケープタウン/O=Thawte Consulting cc/OU=Certification Services Division/
CN=Thawte プレミアム サーバー CA/emailAddress=premium-server@thawte.com':
  自己署名証明書が見つかりました。
HTTP 要求が送信され、応答を待っています... 200 OK
長さ: 807 [テキスト/html]
保存先: `INFO200A2821.html.2'

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

2011-05-28 00:32:38 (6.78 MB/秒) - `INFO200A2821.html.2' が保存されました [807/807]

しかし、ページを受け取っても、スクレイピングしたい情報が含まれていません。返されるページは、読み込み時にフォームを自動送信するフォームを含むページです。フォームには、pubcookie と relay_url の非表示の入力フィールドが含まれています。

資格情報でログインすると、ページにアクセスできます。ただし、これを自動化し、情報を取得するのに苦労しています。

4

1 に答える 1

1

wgetでそれができるかどうかはわかりません。Shibboleth は SAML Web SSO プロファイルの実装であり、保護されたリソースにアクセスするための有効なセッションがあることを期待しています。有効なセッションがない場合、適切な ID プロバイダーを選択するために、WAIF ページにリダイレクトされます。リソースにアクセスする前に実行する必要がある一連の手順があります。

Mechanize.pm for Perl のようなものを使用して、認証手順を自動化し、保護されたリソースを取得することを試みることができます。

于 2011-07-07T18:56:40.520 に答える