【问题标题】:trying to wget my stock portfolio试图获取我的股票投资组合
【发布时间】:2010-01-19 10:07:43
【问题描述】:

我正在尝试将我的股票投资组合读入脚本。以下内容适用于 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 没有使用“基本身份验证”,因为登录页面是用户名/密码的表单 - 它不会弹出浏览器的内置登录对话框。

以下是发生的情况(在带有 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
@ 987654343@
Location: /account/login.html?redirect=https://www.belldirect.com.au/trade/portfoliomanager/index.html [following]
...

【问题讨论】:

  • 您有机会向我们提供测试/假登录吗?

标签: http session scripting cookies wget


【解决方案1】:

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

【讨论】:

  • 是的,做到了。有一些代表:)
【解决方案2】:

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

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

【讨论】:

  • 但是我已经使用浏览器登录了。我只想使用浏览器为登录会话存储的任何状态来获取投资组合页面。顺便说一句,我关注了您的链接,但这似乎不是您想要的?
【解决方案3】:

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

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

【讨论】:

  • 我试过了(尝试“另存为类型”的各种选项),仍然得到cannot verify www.belldirect.com.au's certificate :(
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 2018-01-04
    相关资源
    最近更新 更多