Curl 如何为卷曲生锈板条箱启用NTLM支持?

Curl 如何为卷曲生锈板条箱启用NTLM支持?,curl,rust,libcurl,ntlm,rust-cargo,Curl,Rust,Libcurl,Ntlm,Rust Cargo,我在具有cargo.toml设置的windows上构建: [dependencies] curl = {version="0.4.33", features = ["ssl"]} 然后,当我调用http服务时,我得到一个错误: thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { description: "A requested fea

我在具有cargo.toml设置的windows上构建:

[dependencies]
curl = {version="0.4.33", features = ["ssl"]}
然后,当我调用http服务时,我得到一个错误:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error 
{ description: "A requested feature, protocol or option was not found built-in in this libcurl 
due to a build-time decision.", code: 4, extra: None }'
如何为curl Rust板条箱启用NTLM支持?

如果可以找到,将尝试链接到系统上现有的curl库。在这种情况下,您将只能使用编译到现有curl库中的特性

根据您得到的错误,我假设在编译curl库时没有启用NTLM。通过使用
-V
选项运行curl cli程序(通常链接到库),可以检查:

$curl-V
curl 7.43.0(x86_64-redhat-linux-gnu)libcurl/7.43.0 NSS/3.19.1基本ECC zlib/1.2.7 libidn/1.28 libssh2/1.8.0
协议:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3 rtsp scp sftp smb smb smtp smtps telnet tftp
功能:AsynchDNS IDN IPv6大文件GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets Metalink

如果启用板条箱功能
static curl
,则它将构建curl库本身并静态链接它。它似乎将在该场景中启用所有适用的功能(尽管我还没有测试过)。

我没有系统范围的curl命令,我构建在Windows 10上。我尝试了静态卷曲功能,但不幸的是,它没有帮助。spnego工作正常,但我需要NTLM。@IgorTkachenko和您正在运行的操作系统是什么?如果是windows,您可以从
cd\;dir*curl*/s/b
,如果它不是windows,你从
find/-iname“*curl*”2>/dev/null
?@hanshenrik我运行在同一个操作系统上,只需要cargo运行cargo.toml:
curl={version=“0.4.33”,features=[“ssl”,“static curl”]}
where/r c:\*curl*.dll*curl*.exe
search在其他程序中找到了几个dll和exe文件—git、LibreOffice、Apache web服务器、Visual Studio等等。大多数exe文件都具有NTLM功能。但在路径上,我并没有卷曲命令。如果我使用“静态旋度”,我的货物运行构建不应该使用它自己的旋度吗?@IgorTkachenko对,哪个DLL?将它添加到pastebin或其他东西中,但问题可能出在这些DLL中的一个,因为我猜Rust是无意中加载了错误的卷曲dll@hanshenrik我使用
procep64.exe
查找可执行文件正在加载的库。事实证明,它不会加载名称中包含curl的库。根据这个问题,我总是有一个静态链接的旋度,这是我真正想要的。但在静态链接旋度中,NTLM不起作用。现在它看起来像是一只装在铁锈箱里的虫子。