- 所属分类:网站建设知识
- 作者: 利来w66(中国)有限公司
- 更新时间: 2017-6-24 17:40:18
- 返回列表
由于做项目的需要我们有时候需要通过得到不同的IP,一般情况下有两种方法可以实现得到不同的IP的,一种是断开宽带得到不同的IP的方法,一种就是通过断开路由器来得到不同的,我们今天主要来讲通过asp.net(C#)断开路由器的方法,来换IP的方法。
下面就是我们断开路由器的方法,我们这里使用的路由器的是TP-LINK,下面就是代码
/// <summary>
/// 断开路由器的方法
/// </summary>
/// <param name="ip">192.168.1.1,路由的IP地址</param>
/// <param name="username">admin,用户名</param>
/// <param name="password">admin,密码</param>
public void Close_NetWork_Fun(string ip, string username, string password)
{
string url = "断 线";
string uri = "//" + ip + "/userRpm/StatusRpm.htm?Disconnect=" + System.Web.HttpUtility.UrlEncode(url, System.Text.Encoding.GetEncoding("gb2312")) + "&wan=1";
string sUser = username;
string sPwd = password;
string sDomain = "";
NetworkCredential oCredential;
HttpWebRequest oRequest = (System.Net.HttpWebRequest)WebRequest.Create(uri);
if (oRequest != null)
{
oRequest.ProtocolVersion = HttpVersion.Version11;// send request
oRequest.Method = "GET";
oRequest.ContentType = "application/x-www-form-urlencoded";
oRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6.4; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
oRequest.Referer = "//"+ip;
if (sUser != String.Empty)
{
oCredential = new NetworkCredential(sUser, sPwd, sDomain);
oRequest.Credentials = oCredential.GetCredential(new Uri(uri), String.Empty);
}
else
{
oRequest.Credentials = CredentialCache.DefaultCredentials;
}
StreamReader sr = new StreamReader(oRequest.GetResponse().GetResponseStream(), System.Text.Encoding.Default);
string line = sr.ReadToEnd();
sr.Close();
}
}
直接引用上面的方法就可以完成
new Close_NetWork_Fun("192.168.1.1", "admin", "admin");
通过上面的方法,我们就可以直接断开路由器,得到一个新的IP,但是一般断开,需要休息15秒左右才可以自动连接上,但是新的IP