0

我试图使用 WebClient.DownloadString() 但使用代理。我这样做:

 WebProxy wp = new WebProxy("http://000.000.000.000:80"); (here goes real proxy ip)
        WebClient wb = new WebClient();
        wb.Proxy = wp;
        try
        {
            string file = wb.DownloadString("http://google.com/");
            System.Console.WriteLine(file);
        }
        catch (Exception e)
        {
            System.Console.WriteLine(e);
        }

调用 DownloadString 时会出现此错误:

System.Net.WebException: Se ha terminado la conexion: Error inesperado de recepcion。---> System.IO.IOException: No se puede escribir datos de en la conexion de transporte: Se ha forzado la interruptcion de una conexion existente por el host remoto。---> System.Net.Sockets.SocketException: Se ha forzado la interrupcion de una conexion existente por el host remoto

如果我不使用代理,它工作正常。代理也可以正常工作,因为如果我在 Chrome 或 Firefox 中配置代理,我可以访问任何网页。

谢谢

4

1 回答 1

0

报告的错误意味着有一个 RST(重置)数据包发送到您的计算机。它可能来自代理或某些挡路的防火墙,但该消息No connection could be made because the target machine actively refused it意味着某些东西强行关闭了连接(在 TCP 中,这意味着 RST 数据包)。我的第一个猜测是代理地址或端口设置不正确。

于 2013-03-20T03:50:21.040 回答