【问题标题】:Send request with curl after NTLM auth to same server在 NTLM 身份验证后使用 curl 向同一服务器发送请求
【发布时间】:2019-10-20 03:57:31
【问题描述】:

我有这个命令(省略了一些值)并且它正在成功验证。

curl [URL] -v --ntlm --negotiate -u [username]:[password] -L

问题是它在重定向后出现了一个页面,我想使用该页面上的一些唯一值来发送发布请求。我不能在单独的 curl 命令中发送它,因为它会使我退出我的 NTLM 会话。有没有办法在同一个语句中使用 curl 发送另一个请求,以便我保持身份验证?

【问题讨论】:

  • 默认情况下 curl 会尝试保持和重用连接,你确定它没有在你的情况下这样做吗?
  • 我已经检查过了,它没有重复使用我与下一个请求的连接,但是当我使用 -L 时,它会说 Re-using existing connection! (#0) with host [URL]。如果没有,它会在执行结束时发送这个Connection #1 to host [URL] left intact。有没有办法重用连接?

标签: curl ntlm


【解决方案1】:

--next 是你的朋友!有了它,您可以在同一命令行中执行多个不同的 HTTP 请求。用它来分隔命令行来分隔“操作”。

类似这样的:

curl [URL] -v --ntlm --negotiate -u [username]:[password] -L --next \
[URL2] --ntlm --negotiate -u [username]:[password] -d what=sendDatatoServer

(我使用 \ +newline 来分割行以显示目的,应该删除)

【讨论】:

  • 有没有办法让我发送到不同的 URL?
  • 呃,--next 之后应该有另一个 URL - 我错过了把它放在那里,我现在已经编辑了命令行
  • 嘿丹尼尔。当我将--next 与给定的重定向一起使用而不是使用-L 跟随重定向时,它说我没有经过身份验证,但是当我遵循重定向时它可以正常工作。有什么-L 正在做而--next 做不到的事情吗?有没有办法强制重定向?
  • 我没有足够的信息来告诉你。您现在在 cmets 中提出(更多)问题以回答问题...
猜你喜欢
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-16
  • 1970-01-01
  • 2010-12-03
  • 2021-12-22
相关资源
最近更新 更多