相关疑难解决方法(0)

如何与TcpClient.ConnectAsync()一起使用代理?

.NET中的HTTP代理支持实际上并不支持较低级别的类,例如TcpClient或Socket。但我想通过支持“ CONNECT”命令的HTTP代理连接TCPServer(IP,端口)。

因此,我需要执行以下步骤:

  1. 连接到代理。
  2. 发送 CONNECT Host:Port HTTP/1.1<CR><LF>
  3. 发送 <CR><LF>
  4. 等待回应。如果包含HTTP/1.X 200,则连接成功。
  5. 阅读更多响应行,直到收到空白行。
  6. 它通过代理连接到外部世界。与代理进行任何可能的数据交换。

其实我没有代理就这样做

    TcpClient _client;
    NetworkStream _stream;

    public static async Task<bool> ConnectAsync(string hostname, int port)
    {
        _client = new TcpClient();
        await _client.ConnectAsync(hostname, port).ConfigureAwait(false);
        _stream = conn._client.GetStream();

        ..... Do some stuff

        // Connexion OK
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

在连接TcpClient之前如何使用代理和凭据?

.net c# proxy networking tcpclient

2
推荐指数
1
解决办法
3510
查看次数

标签 统计

.net ×1

c# ×1

networking ×1

proxy ×1

tcpclient ×1