即使具有适当的凭据,通过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

NTLM身份验证Java

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

SSH通过身份验证需要代理

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

带有 NTLM 问题的 Windows 身份验证

Related 相关文章

  1. 1

    NTLM身份验证Java

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

    SSH通过身份验证需要代理

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

    带有 NTLM 问题的 Windows 身份验证

热门标签

归档