HttpClient并使用代理-不断获得407

右旋

这是代码:

 HttpClient client = null;
 HttpClientHandler httpClientHandler = new HttpClientHandler()
 {
    Proxy = new WebProxy(string.Format("{0}:{1}", proxyServerSettings.Address, 
    proxyServerSettings.Port),false),
    PreAuthenticate = true,
    UseDefaultCredentials = false,
 };


 this.httpClientHandler.Credentials = new NetworkCredential(proxyServerSettings.UserName, 
                        proxyServerSettings.Password);


 this.client = new HttpClient(this.httpClientHandler);

当我最终这样做时:

HttpResponseMessage httpResponseMessage = this.client.PostAsync(urlToPost, new StringContent(data, Encoding.UTF8, this.mediaType)).Result;

它总是抛出

远程服务器返回错误:(407)需要代理身份验证。

我对我的世界不了解。

当在IE10中配置或如果我改用HttpWebRequest该类时,相同的代理设置就可以正常工作

达里尔

您将代理凭据设置在错误的位置。

httpClientHandler.Credentials是在代理已建立连接之后提供给服务器的凭据如果您弄错了这些,则可能会收到401或403响应。

您需要设置提供给代理的凭据,否则它将首先拒绝将您连接到服务器。您提供给代理的凭据可能与您提供给服务器的凭据不同。如果您弄错了这些,将得到407响应。您得到的是407,因为您根本没有设置这些设置。

// First create a proxy object
var proxy = new WebProxy
{
    Address = new Uri($"http://{proxyHost}:{proxyPort}"),
    BypassProxyOnLocal = false,
    UseDefaultCredentials = false,

    // *** These creds are given to the proxy server, not the web server ***
    Credentials = new NetworkCredential(
        userName: proxyUserName,
        password: proxyPassword)
};

// Now create a client handler which uses that proxy
var httpClientHandler = new HttpClientHandler
{
    Proxy = proxy,
};

// Omit this part if you don't need to authenticate with the web server:
if (needServerAuthentication)
{
    httpClientHandler.PreAuthenticate = true;
    httpClientHandler.UseDefaultCredentials = false;

    // *** These creds are given to the web server, not the proxy server ***
    httpClientHandler.Credentials = new NetworkCredential(
        userName: serverUserName,
        password: serverPassword);
}

// Finally, create the HTTP client object
var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我在可移植类库上使用HttpClient获得403

来自分类Dev

在VS 2013中使用HttpClient代理类对Web API进行单元测试

来自分类Dev

检查代理并使用ruby-on-rails获得timout

来自分类Dev

让git / go获得使用代理域

来自分类Dev

使用GUICE注入HttpClient以在Java中获得模拟响应

来自分类Dev

Apache HttpClient 4.3.5设置代理

来自分类Dev

在NodeJS中使用代理获得了“无效协议”

来自分类Dev

使用HTTPClient Gem设置用户代理

来自分类Dev

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

来自分类Dev

TextureView不断获得SIGSEGV 11

来自分类Dev

Python使用HTTPS代理的API请求API请求获得407 Proxy Authentication Required

来自分类Dev

通过公司代理的HTTP 407 CasperJS

来自分类Dev

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

来自分类Dev

如何获得代理列表以正确使用硒?(Python)

来自分类Dev

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

来自分类Dev

HttpClient不断收到错误请求

来自分类Dev

如何使用Selenium从网站上获得不断变化的价值

来自分类Dev

如何修复botFramework的代理407错误?

来自分类Dev

为什么使用默认代理凭据不会在407响应后导致自动第二个http请求?

来自分类Dev

407代理验证错误-Unirest Java 8

来自分类Dev

如何设置HttpClient代理?

来自分类Dev

使用Wily代理时Apache HttpClient引发异常

来自分类Dev

单元测试apache http客户端代理407

来自分类Dev

TextureView不断获得SIGSEGV 11

来自分类Dev

httpclient默认会使用系统代理(clojure)吗?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Google Drive API 代理异常 407

来自分类Dev

使用 httpclient 4.0.1 添加用户代理

Related 相关文章

  1. 1

    我在可移植类库上使用HttpClient获得403

  2. 2

    在VS 2013中使用HttpClient代理类对Web API进行单元测试

  3. 3

    检查代理并使用ruby-on-rails获得timout

  4. 4

    让git / go获得使用代理域

  5. 5

    使用GUICE注入HttpClient以在Java中获得模拟响应

  6. 6

    Apache HttpClient 4.3.5设置代理

  7. 7

    在NodeJS中使用代理获得了“无效协议”

  8. 8

    使用HTTPClient Gem设置用户代理

  9. 9

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

  10. 10

    TextureView不断获得SIGSEGV 11

  11. 11

    Python使用HTTPS代理的API请求API请求获得407 Proxy Authentication Required

  12. 12

    通过公司代理的HTTP 407 CasperJS

  13. 13

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

  14. 14

    如何获得代理列表以正确使用硒?(Python)

  15. 15

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

  16. 16

    HttpClient不断收到错误请求

  17. 17

    如何使用Selenium从网站上获得不断变化的价值

  18. 18

    如何修复botFramework的代理407错误?

  19. 19

    为什么使用默认代理凭据不会在407响应后导致自动第二个http请求?

  20. 20

    407代理验证错误-Unirest Java 8

  21. 21

    如何设置HttpClient代理?

  22. 22

    使用Wily代理时Apache HttpClient引发异常

  23. 23

    单元测试apache http客户端代理407

  24. 24

    TextureView不断获得SIGSEGV 11

  25. 25

    httpclient默认会使用系统代理(clojure)吗?

  26. 26

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

  27. 27

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

  28. 28

    Google Drive API 代理异常 407

  29. 29

    使用 httpclient 4.0.1 添加用户代理

热门标签

归档