Skip to content

HttpClient not support SOCKS5H proxy #123217

@itbencn

Description

@itbencn

Description

   在 System.Net.Http.HttpConnectionPoolManager.SendAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   在 System.Net.Http.HttpConnectionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   在 System.Net.Http.HttpMessageHandlerStage.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   在 System.Net.Http.Metrics.MetricsHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   在 System.Net.Http.HttpMessageHandlerStage.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   在 System.Net.Http.DiagnosticsHandler.<SendAsyncCore>d__10.MoveNext()
   在 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()
   在 System.Net.Http.RedirectHandler.<SendAsync>d__4.MoveNext()
   在 System.Net.Http.SocketsHttpHandler.<<SendAsync>g__CreateHandlerAndSendAsync|115_0>d.MoveNext()
   在 System.Net.Http.HttpClient.<GetStringAsyncCore>d__41.MoveNext()
   在 ConsoleApp1.Program.<Main>d__0.MoveNext() 在 C:\Users\ali\Desktop\ConsoleApp1\ConsoleApp1\Program.cs 中: 第 15 行


Only the 'http', 'https', 'socks4', 'socks4a' and 'socks5' schemes are allowed for proxies.

Reproduction Steps

using var handler = new SocketsHttpHandler();
handler.Proxy = new WebProxy("socks5h://username:password@ip:port");
using HttpClient client = new HttpClient(handler);
var response = await client.GetStringAsync("http://ifconfig.me/ip");

Expected behavior

normal request

Actual behavior

throw an exception

Only the 'http', 'https', 'socks4', 'socks4a' and 'socks5' schemes are allowed for proxies.

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions