0

我正在尝试将我的股票投资组合读入脚本。以下适用于 NAB Online Trading 但不适用于Bell Direct

  • 安装导出域 Cookies Firefox 插件
  • 使用 Firefox 登录我的在线经纪人
  • 将域 cookie 保存到文件(例如cookies.txt
  • wget --no-check-certificate --load-cookies=cookies.txt -O folio.htm https://...(作品集网址)

-- 这个想法是重用浏览器的登录会话。当我尝试使用 Bell Direct 时,它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]
...

4

4 回答 4

1

也许服务器正在验证基于 User-Agent 以及 cookie 的会话。检查您的 Firefox 安装使用的是什么用户代理(如果您不知道,可能使用 WhatIsMyUserAgent.com),并尝试在您的 Wget 调用中使用完全相同的用户代理(通过 --user-agent="... “ 范围)。

于 2010-01-19T02:07:43.687 回答
0

您需要发布登录表单变量,然后使用这些 cookie 转到内部页面。

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

于 2009-12-14T00:46:50.310 回答
0

登录通过 HTTPS 协议加密,您无需提供证书。也许 belldirect 需要一个有效的证书来进行客户端身份验证。

您可以通过单击 URL > 更多信息 > 安全选项卡 > 查看证书 > 详细信息 > 导出的突出显示的蓝色部分在 Firefox 中导出证书。然后,您可以使用该--certificate=filename选项在命令中指定导出的证书wget

于 2009-12-14T01:08:08.020 回答
0

也许您也需要设置引荐来源网址。

于 2010-01-19T02:02:17.760 回答