0

株式ポートフォリオをスクリプトに読み込もうとしています。以下は NAB Online Trading では機能しますが、Bell Directでは機能しません。

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

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

これは何が起こるかです (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]
...

4

4 に答える 4

1

おそらく、サーバーは User-Agent と Cookie に基づいてセッションを検証しています。Firefox のインストールで使用されているユーザー エージェントを確認し (わからない場合は、WhatIsMyUserAgent.com を使用してください)、Wget 呼び出しでまったく同じユーザー エージェントを使用してみてください ( --user-agent="... を使用)。 " パラメータ)。

于 2010-01-19T02:07:43.687 に答える
0

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

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

于 2009-12-14T01:08:08.020 に答える
0

ログインフォーム変数を POST する必要があり、それらの Cookie を使用して内部ページに移動します。

コード例についてはhttp://www.trap17.com/index.php/automatic-login-curl_t38162.htmlを参照してください。

于 2009-12-14T00:46:50.310 に答える
0

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

于 2010-01-19T02:02:17.760 に答える