试图忘记我的股票投资组合

时间:2009-12-14 00:14:54

标签: http session scripting cookies wget

我正在尝试将我的股票投资组合读入一个脚本。以下内容适用于NAB在线交易,但不适用于Bell Direct

  • 安装Export Domain Cookies Firefox插件
  • 使用Firefox登录我的在线经纪人
  • 将域Cookie保存到文件(例如cookies.txt
  • wget --no-check-certificate --load-cookies=cookies.txt -O folio.htm https://...(投资组合网址)

- 想法是重用浏览器的登录会话。当我使用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/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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

也许您还需要设置推荐人。