2009-12-14 44 views
0

我試圖將我的股票投資組合讀入腳本。以下內容適用於NAB在線交易,但不適用於Bell Direct試圖wget我的股票投資組合

  • 在安裝Export Domain Cookies火狐插件
  • 日誌到我的網上經紀人與Firefox
  • 域的cookie保存到一個文件(例如,cookies.txt
  • wget --no-check-certificate --load-cookies=cookies.txt -O folio.htm https://...(組合URL)

- 這個想法是重用瀏覽器的登錄會話。當我嘗試使用Bell Direct時,wget被重定向到登錄頁面。我與curl獲得了相同的結果。我錯過了什麼?瀏覽器中是否存儲了cookie中的某些狀態? Bell沒有使用「基本認證」,因爲登錄頁面是用戶名/密碼的表單 - 它不會彈出瀏覽器的內置登錄對話框。

這裏是發生了什麼(在Windows XP下使用Cygwin):

$ 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/[email protected]':
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]
...

+0

有沒有機會給我們提供測試/假登錄? –

回答

1

也許服務器正在驗證會話基於用戶代理以及cookie。檢查您的Firefox安裝使用的是哪個用戶代理(如果您不知道它,可以使用WhatIsMyUserAgent.com),並嘗試在Wget調用中使用完全相同的用戶代理(通過--user-agent =「... 「參數)。

+0

是的,這是做了。有一些代表:) –

0

您需要POST登錄表單變量,然後用這些cookie轉到內部頁面。

http://www.trap17.com/index.php/automatic-login-curl_t38162.html對於一些示例代碼。

+0

但我已經使用瀏覽器登錄。我只想使用瀏覽器爲登錄會話存儲的任何狀態來獲取投資組合頁面。順便說一句,我跟着你的鏈接,它似乎不是你想要的? –

0

登錄通過HTTPS協議加密,並且您不提供證書。也許belldirect需要用於客戶端認證的有效證書。

您可以通過單擊URL>更多信息>安全選項卡>查看證書>詳細信息>導出中突出顯示的藍色部分,在Firefox中導出證書。然後,您可以使用--certificate=filename選項在您的wget命令中指定導出的證書。

+0

我試了一下(嘗試「保存爲類型」的各種選項),仍然得到了'無法驗證www.belldirect.com.au的證書':( –

0

也許你還需要設置引薦來源。