質問

自分の株式ポートフォリオをスクリプトに読み込もうとしています。以下は NAB オンライン取引では機能しますが、機能しません ベルダイレクト.

  • をインストールします ドメイン Cookie をエクスポートする Firefox アドオン
  • Firefox でオンライン ブローカーにログインします
  • ドメイン Cookie をファイルに保存します (例: cookies.txt)
  • wget --no-check-certificate --load-cookies=cookies.txt -O folio.htm https://...(ポートフォリオURL)

-- ブラウザのログイン セッションを再利用するというアイデアです。ベルダイレクトで試してみると、 wget ログインページにリダイレクトされます。同じ結果が得られます curl. 。私には何が欠けているのでしょうか?Cookie 以外にブラウザに保存される状態はありますか?ログイン ページはユーザー名とパスワードのフォームであるため、Bell は「基本認証」を使用していません。ブラウザの組み込みログイン ダイアログはポップアップしません。

何が起こるかは次のとおりです (Cygwin を使用した Windows XP 環境)。

$ wget --server-response --no-check-certificate --load-cookies=cookies-bell.txt -O folio-bell.htm https://www.belldirect.com.au/trade/portfoliomanager/
--2009-12-14 10:52:08-- https://www.belldirect.com.au/trade/portfoliomanager/
Resolving www.belldirect.com.au... 202.164.26.80
Connecting to www.belldirect.com.au|202.164.26.80|:443... connected.
WARNING: cannot verify www.belldirect.com.au's certificate, issued by '/C=ZA/ST=Western Cape/L=Cape Town/O=Thawte Consulting cc/OU=Certification Services Division/CN=Thawte Server CA/emailAddress=server-certs@thawte.com':
Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response...
HTTP/1.1 302 Found
Connection: keep-alive
Date: Sun, 13 Dec 2009 23:52:16 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: /account/login.html?redirect=https://www.belldirect.com.au/trade/portfoliomanager/index.html
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 229
Location: /account/login.html?redirect=https://www.belldirect.com.au/trade/portfoliomanager/index.html [following]
...

役に立ちましたか?

解決

おそらく、サーバはユーザエージェントに基づいてセッションだけでなく、クッキーを検証しています。 (あなたがそれを知っていない場合は、おそらくWhatIsMyUserAgent.comを使用)、あなたのFirefoxを使用しているインストールどんなユーザーエージェントを確認し、使用してみてくださいその--user-エージェントを介して、あなたのWgetの呼び出しで、まったく同じユーザー・エージェント(=」... "パラメータ)。

他のヒント

あなたは、その後、これらのクッキーで、内側のページを後藤ログインフォーム変数をPOSTする必要があります。

http://www.trap17.com/index.phpいくつかの例のコードの/automatic-login-curl_t38162.html

ログインはHTTPSプロトコルを介して暗号化され、あなたが証明書を提供していません。おそらく、belldirectは、クライアント認証のための有効な証明書が必要です。

あなたはURLの強調表示青色部分をクリックすると、Firefoxで証明書をエクスポートすることができます>詳細情報>セキュリティ]タブ> [証明書の表示]> [詳細]> [エクスポート]。その後、あなたはあなたの--certificate=filenameコマンドでエクスポートした証明書を指定するには、wgetオプションを使用することができます。

たぶん、あなたはあまりにもリファラを設定する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top