即使具有适当的凭据,通过cURL与NTLM的代理身份验证也会返回407

连接主义者

我正在尝试使用使用NTLM身份验证的代理访问服务器。问题是,即使我提供了正确的凭据(我已经使用Firefox测试了它们,并且代理,端口,用户名和密码都是正确的),我也会收到407(代理需要身份验证)。

我尝试使用CURLAUTH_NTLM,CURLAUTH_NTLM以及两者的逻辑组合,但仍然一无所获。

我正在使用最新版本的cURL(7.42.1)和最新版本的openSSL(1.0.2)。

谁能告诉我我做错了吗?

这是我的C / C +++代码:

int _main()
{
    CURL *hCurl;    
    CURLcode curlCode;

    char username[] = "domain\\user";
    char password[] = "pass";
    char proxy[] = "myproxy:8080";
    char url[] = "http://some_random_url.com";

    hCurl = curl_easy_init();
    if(hCurl) 
    {
        curl_easy_setopt(hCurl, CURLOPT_URL, url);

        curlCode = curl_easy_setopt(hCurl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
        curlCode = curl_easy_setopt(hCurl, CURLOPT_PROXY, proxy);
        curlCode = curl_easy_setopt(hCurl, CURLOPT_HTTPAUTH,  /*CURLAUTH_BASIC | */CURLAUTH_NTLM);
        curlCode = curl_easy_setopt(hCurl, CURLOPT_PROXYUSERNAME, username);
        curlCode = curl_easy_setopt(hCurl, CURLOPT_PROXYPASSWORD, password);

        while(true)
        {
            curlCode = curl_easy_perform(hCurl);
            /* Check for errors */ 
            if(curlCode != CURLE_OK)
                fprintf(stderr, "curl_easy_perform() failed: %s\n",
                curl_easy_strerror(curlCode));

            Sleep(3000);
        }

        curl_easy_cleanup(hCurl);
    }

    getchar();
    return 0;

}

雷米·勒博(Remy Lebeau)

阅读文档。CURLOPT_HTTPAUTH设置用于远程HTTP服务器而不是代理的凭据:

传递一个long参数,该参数设置为位掩码,以告诉libcurl您希望它与远程服务器对话使用哪种身份验证方法

...使用CURLOPT_USERPWD选项或CURLOPT_USERNAME和CURLOPT_PASSWORD选项设置实际名称和密码。

...

有关使用代理进行身份验证的信息,请参见CURLOPT_PROXYAUTH

使用CURLOPT_PROXYAUTH指定代理身份验证方法(NTLM),并使用CURLOPT_PROXYUSERPWD设置代理凭据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

即使具有适当的凭据,通过cURL与NTLM的代理身份验证也会返回407

来自分类Dev

具有正确凭据的Cntlm代理身份验证问题

来自分类Dev

HTTPS URL的基本代理身份验证返回HTTP / 1.0 407必需的代理身份验证

来自分类Dev

WCF服务调用返回“ 407必需的代理身份验证”

来自分类Dev

具有凭据的WebProxy无需身份验证即可连接到代理

来自分类Dev

具有NTLM身份验证的ActionMailer(Exchange 2010)

来自分类Dev

具有正确凭据的ldap身份验证问题

来自分类Dev

如何通过具有身份验证的代理访问TFS服务器?

来自分类Dev

API-HttpResponseMessage:需要(407)代理身份验证

来自分类Dev

AngularJS“需要407代理身份验证”

来自分类Dev

407代理身份验证尝试安装软件包时需要,但没有代理

来自分类Dev

将具有XML配置的Spring Security 3.1迁移至具有Java配置的4.0.1会导致HTTP状态401-身份验证失败:凭据错误

来自分类Dev

GitLab Runner:即使设置了DOCKER_AUTH_CONFIG,也没有基本的身份验证凭据

来自分类Dev

SSH通过身份验证需要代理

来自分类Dev

如何使用具有BASIC身份验证的服务工作者(NTLM,协商)

来自分类Dev

具有Windows NTLM身份验证的Android版Office-365-SDK

来自分类Dev

打开Office文档时,经过身份验证的代理后面的IE9会提示您提供凭据

来自分类Dev

New-WebServiceProxy无法通过NTLM进行身份验证

来自分类Dev

使用curl通过代理(polipo)访问受身份验证保护的基本网站

来自分类Dev

NTLM身份验证Java

来自分类Dev

通过带有客户端身份验证的Nginx代理的SSL Websocket代理

来自分类Dev

具有正确凭据的C#WebClient HTTP基本身份验证失败401

来自分类Dev

具有多个身份验证机制的单个凭据组的默认行为是什么?

来自分类Dev

TFS vNext构建代理失败,并显示407代理身份验证错误

来自分类Dev

没有用于抢占式身份验证的凭据-端口返回-1

来自分类Dev

即使设置了自定义usernameField,Passport.js也会通过本地身份验证策略引发“缺少凭据”错误

来自分类Dev

带有 NTLM 问题的 Windows 身份验证

来自分类Dev

Satis HTTP基本身份验证-通过凭据

来自分类Dev

除了目标站点凭据之外,如何在Apache httpclient中指定代理身份验证凭据?

Related 相关文章

  1. 1

    即使具有适当的凭据,通过cURL与NTLM的代理身份验证也会返回407

  2. 2

    具有正确凭据的Cntlm代理身份验证问题

  3. 3

    HTTPS URL的基本代理身份验证返回HTTP / 1.0 407必需的代理身份验证

  4. 4

    WCF服务调用返回“ 407必需的代理身份验证”

  5. 5

    具有凭据的WebProxy无需身份验证即可连接到代理

  6. 6

    具有NTLM身份验证的ActionMailer(Exchange 2010)

  7. 7

    具有正确凭据的ldap身份验证问题

  8. 8

    如何通过具有身份验证的代理访问TFS服务器?

  9. 9

    API-HttpResponseMessage:需要(407)代理身份验证

  10. 10

    AngularJS“需要407代理身份验证”

  11. 11

    407代理身份验证尝试安装软件包时需要,但没有代理

  12. 12

    将具有XML配置的Spring Security 3.1迁移至具有Java配置的4.0.1会导致HTTP状态401-身份验证失败:凭据错误

  13. 13

    GitLab Runner:即使设置了DOCKER_AUTH_CONFIG,也没有基本的身份验证凭据

  14. 14

    SSH通过身份验证需要代理

  15. 15

    如何使用具有BASIC身份验证的服务工作者(NTLM,协商)

  16. 16

    具有Windows NTLM身份验证的Android版Office-365-SDK

  17. 17

    打开Office文档时,经过身份验证的代理后面的IE9会提示您提供凭据

  18. 18

    New-WebServiceProxy无法通过NTLM进行身份验证

  19. 19

    使用curl通过代理(polipo)访问受身份验证保护的基本网站

  20. 20

    NTLM身份验证Java

  21. 21

    通过带有客户端身份验证的Nginx代理的SSL Websocket代理

  22. 22

    具有正确凭据的C#WebClient HTTP基本身份验证失败401

  23. 23

    具有多个身份验证机制的单个凭据组的默认行为是什么?

  24. 24

    TFS vNext构建代理失败,并显示407代理身份验证错误

  25. 25

    没有用于抢占式身份验证的凭据-端口返回-1

  26. 26

    即使设置了自定义usernameField,Passport.js也会通过本地身份验证策略引发“缺少凭据”错误

  27. 27

    带有 NTLM 问题的 Windows 身份验证

  28. 28

    Satis HTTP基本身份验证-通过凭据

  29. 29

    除了目标站点凭据之外,如何在Apache httpclient中指定代理身份验证凭据?

热门标签

归档