无法使用curl登录到usgs.gov以存储会话cookie

无法使用curl登录到usgs.gov以存储会话cookie,curl,post,single-sign-on,session-cookies,Curl,Post,Single Sign On,Session Cookies,我正在尝试使用curl登录。在过去的几天里,我尝试了很多不同的方法,但我似乎永远都无法收到响应发送的会话cookie的第二部分。我已经尝试通过Firefox开发者工具直接将帖子保存为curl请求,并用正确的值替换csrf\u令牌和\uu ncforminfo,但仍然没有任何结果。下面我将包括curl命令、日志输出以及成功登录的一些屏幕截图。 任何帮助都将不胜感激。多谢各位 首先,我使用curl使用GET请求下载页面,我解析该请求以获取表单的隐藏字段 curl-o temp.html“$LOG

我正在尝试使用
curl
登录。在过去的几天里,我尝试了很多不同的方法,但我似乎永远都无法收到响应发送的会话cookie的第二部分。我已经尝试通过Firefox开发者工具直接将帖子保存为curl请求,并用正确的值替换
csrf\u令牌
\uu ncforminfo
,但仍然没有任何结果。下面我将包括curl命令、日志输出以及成功登录的一些屏幕截图。 任何帮助都将不胜感激。多谢各位

  • 首先,我使用curl使用
    GET
    请求下载页面,我解析该请求以获取表单的隐藏字段
curl-o temp.html“$LOGIN”
令牌=$(sed-n's/*name=“csrf\u令牌”\s\+value=“\([^”]\+\)./\1/p'temp.html)
编码的\u令牌=$(urlencode$令牌)
FORMINFO=$(sed-n's/*name=“\uu-ncforminfo”\s\+value=“\([^”]\+\)./\1/p'temp.html)
ENCODED_FORMINFO=$(urlencode$FORMINFO)
  • 接下来,我获取这些值并发送一个curlpost请求
curl——冗长\
--cookie jar cookies.txt\
-H“主机:ers.cr.usgs.gov”\
-H“用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64;rv:70.0)Gecko/20100101 Firefox/70.0”\
-H“接受:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”\
-H“接受语言:en-US,en;q=0.5”\
-H“接受编码:gzip,deflate,br”\
-H“内容类型:应用程序/x-www-form-urlencoded”\
-H“来源:https://ers.cr.usgs.gov" \
-H“连接:保持活动”\
-H“参考:https://ers.cr.usgs.gov/login/" \
-H“升级不安全请求:1”\
--数据“username=$username&password=$password&csrf\u-token=$ENCODED\u-token&\uuuu-ncforminfo=$ENCODED\u-FORMINFO”https://ers.cr.usgs.gov/login/
  • 这是curl的详细输出
正在尝试2001:49c8:4000:122c::7。。。 *TCP_节点集 *正在尝试152.61.136.7。。。 *TCP_节点集 *连接到ers.cr.usgs.gov(152.61.136.7)端口443(#0) *阿尔卑斯山,提供h2 *ALPN,提供http/1.1 *已成功设置证书验证位置: *CAfile:/etc/ssl/certs/ca-certificates.crt CApath:/etc/ssl/certs *TLSv1.3(输出),TLS握手,客户端问候(1): *TLSv1.3(IN)、TLS握手、服务器hello(2): *TLSv1.2(IN),TLS握手,证书(11): *TLSv1.2(IN)、TLS握手、服务器密钥交换(12): *TLSv1.2(IN),TLS握手,服务器完成(14): *TLSv1.2(输出)、TLS握手、客户端密钥交换(16): *TLSv1.2(OUT),TLS更改密码,客户端hello(1):
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

#HttpOnly_ers.cr.usgs.gov       FALSE   /       TRUE    0       PHPSESSID       blahblahblahhereissessionstuff