我的应用程序中有一个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#中重新创建它。
答案 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();
}
}