代码如下,就是无法通过验证,我也知道是base64的编码,密码也知道,可就是没法进入,卡了两天了
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class restartRouter {
public static void main(String[] args){
//"http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=重启路由器";
// 验证的用户名和密码
String login_user = "admin";
String login_pw = "123456";
String auth = "Basic " + getBASE64(login_user + login_pw);
System.out.println(auth);
HttpClient httpClient = new DefaultHttpClient();
HttpUriRequest request= new HttpGet("http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=重启路由器");
//HttpUriRequest request= new HttpGet("http://192.168.1.1/userRpm/StatusRpm.htm?Disconnect=断线&wan=1");
//HttpUriRequest request= new HttpGet("http://192.168.1.1/userRpm/StatusRpm.htm?Connect=连接&wan=1");
//http://192.168.1.1/userRpm/StatusRpm.htm?Disconnect=断线&wan=1
//添加验证信息
request.addHeader("Authorization", auth);
// 打印请求信息
try {
// 发送请求,返回响应
HttpResponse response = httpClient.execute(request);
HttpEntity httpEntity = response.getEntity();
String result = EntityUtils.toString(httpEntity);
// 打印响应信息
System.out.println(result);
} catch (ClientProtocolException e) {
// 协议错误
e.printStackTrace();
} catch (IOException e) {
// 网络异常
e.printStackTrace();
}
}
public static String getBASE64(String s) {
if (s == null) return null;
return (new sun.misc.BASE64Encoder()).encode( s.getBytes() );
}
}