static void Main(string[] args)
{
//ssl证书验证问题(没有校验)
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
var hostname = Dns.GetHostName();//获取本地主机名
var addresses = Dns.GetHostAddresses(hostname);//返回指定主机的 Internet 协议 (IP) 地址
foreach (var address in addresses)
{
if (address.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) continue;//version 4.0
Console.WriteLine(address);
var client = new MyWebClient(address);
var rlt = client.UploadString("https://t2.ipyy.net/a.aspx", "");
Console.WriteLine(rlt);
Console.WriteLine("----------------------------------");
}
Console.WriteLine("r.ipyy.net");
var ipr = Dns.GetHostAddresses("r.ipyy.net");
var rc = new MyWebClient(ipr.First());
var r = rc.UploadString("https://t2.ipyy.net/a.aspx", "");
Console.WriteLine(r);
Console.ReadKey();
}
public class MyWebClient : WebClient
{
private IPAddress ipAddress;
public MyWebClient(IPAddress ipAddress)
{
this.ipAddress = ipAddress;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = (WebRequest)base.GetWebRequest(address);
((HttpWebRequest)request).ServicePoint.BindIPEndPointDelegate += (servicePoint, remoteEndPoint, retryCount) =>
{
return new IPEndPoint(ipAddress, 0);
// IPAddress ipAddress = IPAddress.Parse("192.168.1.82");
};
return request;
}
}