Scripting wget似乎没有传递浏览器信息,正在保存cookie

Scripting wget似乎没有传递浏览器信息,正在保存cookie,scripting,wget,Scripting,Wget,Discover Card有一个系统(和许多其他银行一样),您可以将对账单导出为CSV格式。我正在尝试编写一个脚本,该脚本登录到我的Discover帐户,并使用保存的cookie会话获取CSV数据。我遇到了一些困难,wget没有正确地传递“伪造的”用户代理,并且没有保存任何cookie信息——这可能是由于它自身的原因,也可能是由于Discover的安全性 我不知道是否有人对如何让它工作有任何建议: userName=(retracted) password=(retracted) basePat

Discover Card有一个系统(和许多其他银行一样),您可以将对账单导出为CSV格式。我正在尝试编写一个脚本,该脚本登录到我的Discover帐户,并使用保存的cookie会话获取CSV数据。我遇到了一些困难,wget没有正确地传递“伪造的”用户代理,并且没有保存任何cookie信息——这可能是由于它自身的原因,也可能是由于Discover的安全性

我不知道是否有人对如何让它工作有任何建议:

userName=(retracted)
password=(retracted)
basePath=~/Desktop/discscript
postData="userID="$userName"&password="$password"&choose-card=Credit+Card&userTypeCode1=C&currentFormId=login&version=1"
postData=$postData"&pm_fpsc=24\|1920\|1080\|1056&pm_fpsw=&pm_fptz=-5&pm_fpln=lang=en-US\|syslang=\|userlang=&pm_fpjv=0&pm_fpco=1"
userAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"

rm $basePath/disctmp.txt

wget --save-cookies $basePath/disctmp.txt \
    --user-agent="$userAgent" \
    --referer="card.discover.com" \
    --keep-session-cookies \
    --post-data $postData \
    https://portal.discover.com/customersvcs/universalLogin/signin \
    --delete-after \
    --debug
wget返回的cookie文件包含以下内容:

# HTTP cookie file.
# Generated by Wget on 2017-07-23 07:12:03.
# Edit at your own risk.
下载的HTML中返回的错误如下:

Your account cannot currently be accessed.

Outdated browsers can expose your computer to security risks. To get the best experience on Discover.com, you may need to update your browser to the latest version and try again.

这是没有意义的,因为当用户代理发布相同的数据时,我可以使用Firefox访问它。使用Firebug查看发布的数据。

使用Firefox访问站点时,请尝试使用F12网络窗口查看浏览器发送到服务器的所有内容。在每个请求上还有一个“复制为卷曲”上下文菜单选项,您可以使用它来尝试手动复制它们。唯一不同于我在wget中手动发布的数据是,当我通过Firefox以“正常”方式登录时,它会生成一个发布的cookie和类似GUID的字符串。