batch-file - cURL 请求挂起
问题描述
我一直在为工作场所的一些自动化编写批处理脚本。我们有一个 Watchguard 防火墙,我需要通过批处理登录。我目前的解决方案是发送一个包含所需详细信息的 cURL POST 请求。这就是我所说的:
set address="https://watchguard.<domain>:4100/wgcgi.cgi"
set data="fw_username=<username>&fw_password=<password>&fw_domain=<domain>&submit=Login&action=fw_logon&fw_logon_type=logon"
curl -k -m 10 -X POST -d %data% %address%
出于安全原因,我已将域、用户名和密码留在外面。这几乎一直有效,但是尽管使用了 -m 标志,但有时 cURL 请求会无限期挂起。到目前为止,这仅在计算机的 8 小时 Watchguard 会话到期后发生,尽管这并不总是导致问题。一旦问题出现,它会继续发生,直到机器重新启动。
此问题似乎与 Internet Explorer 上的类似问题相关。Internet Explorer 在尝试打开任何网页时无限期挂起。Chrome、Edge 和 Firefox 加载网页没有问题。由于这个线程,我被告知 cURL 和 Internet Explorer 之间的关联:https ://curl.se/mail/lib-2012-10/0184.html
当我运行时curl -v -m 10 -X POST -d %data% %address%
(使用 -v 但没有 -k)。这样做会给我以下输出:
* Trying <Firebox IP>...
* TCP_NODELAY set
* Connected to watchguard.<domain> (<Firebox IP>) port 4100 (#0)
* schannel: SSL/TLS connection with watchguard.<domain> port 4100 (step 1/3)
* schannel: checking server certificate revocation
当我运行时curl -v -k -m 10 -X POST -d %data% %address%
(使用-v)。这样做会给我以下输出:
* Trying <Firebox IP>...
* TCP_NODELAY set
* Connected to watchguard.<domain> (<Firebox IP>) port 4100 (#0)
* schannel: SSL/TLS connection with watchguard.<domain> port 4100 (step 1/3)
* schannel: disabled server certificate revocation checks
* schannel: verifyhost setting prevents Schannel from comparing the supplied target name with the subject names in server certificates.
我可以做些什么来确保它成功通过吗?
卷曲版本:
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: 2017-11-14, security patched: 2019-11-05
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
Watchguard 版本:WatchguardFireBox M670 运行 Fireware OSv12.6.2.B631387
解决方案
推荐阅读
- ios - 水平 ScrollView (SwiftUI) 中的动画展开/折叠组
- python-3.x - PowerSchool Python API 插件
- c# - 是否可以将 Rx“使用”运算符与 IAsyncDisposable 一起使用?
- php - 用户'root'@'localhost'的访问被拒绝(使用密码:YES)
- c# - Unity3D如何使对象开始使用半径在弧或圆中移动?
- c# - 如何使用 Accord.net 通过字符串动态实例化新的 NonlinearObjectiveFunction
- python - 合并数据框 Pandas 时出现重复行
- flutter - 是否可以在颤振依赖项中使用远程路径而不使用本地路径 repo
- excel - Excel VBA:隐藏或显示行 - 美国英语 Excel 和德语版之间的区别?
- visual-studio-code - 使用 VS Code 时使用“make”有意义吗?