设置连接IP#

时间:2013-12-10 02:58:31

标签: c# web connection ip

我的应用程序中有一个Web浏览器,我想更改即将加载页面的传入连接的IP。如何设置连接的IP地址?我以前用Java做过,但我不知道如何在C#中做到这一点。

以下是我如何使用Java创建新IP并将其设置为使用Java中的IP打开页面:

InetSocketAddress newIP = new InetSocketAddress(
    InetAddress.getByAddress(
        next, new byte[] {Byte.parseByte(bts[0]), 
        Byte.parseByte(bts[1]), Byte.parseByte(bts[2]), 
        Byte.parseByte(bts[3])}
    ), 
    80);

URL url = new URL("http://google.com");
url.openConnection(new Proxy(Proxy.Type.HTTP, newIP));

现在我只需要在C#中重新创建它。

1 个答案:

答案 0 :(得分:0)

如果要设置代理地址,可以在WebRequest上执行:

using System;
using System.IO;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        WebRequest wr = WebRequest.Create("http://www.google.com");
        WebProxy proxy = new WebProxy("http://localhost:8888");
        wr.Proxy = proxy;
        StreamReader sr = new StreamReader(wr.GetResponse().GetResponseStream());

        Console.WriteLine(sr.ReadToEnd());
        Console.ReadLine();
    }
}

或者,如果您需要在应用程序范围内设置它,可以将GlobalProxySelection.Select设置为您的代理,所有后续HTTP请求都将使用该代理:

using System;
using System.IO;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        WebProxy proxy = new WebProxy("http://localhost:8888");
        GlobalProxySelection.Select = proxy;

        WebRequest wr = WebRequest.Create("http://www.google.com");

        StreamReader sr = new StreamReader(wr.GetResponse().GetResponseStream());

        Console.WriteLine(sr.ReadToEnd());
        Console.ReadLine();
    }
}