哪位大神模拟登录过网易呀!能给小弟代码不 万分感谢
模拟登录网易
相关帖子
-
752361323 •作者
我是 WebDriver driver =new PhantomJSDriver 用这个驱动 因为登录有框架的 所以用 driver.switchTo().frame(“x-URS-iframe”);(这个方法就不行了,是因为 java 不能用这个吗 我是百度上找的)
1 回复 - 其他回帖
-
smart •
你要的是这样子的吧?
RequestConfig defaultRequestConfig = RequestConfig.custom().setConnectTimeout(20000).build();
BasicCookieStore cookieStore = new BasicCookieStore();
CloseableHttpClient httpclient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
HttpGet httpget = new HttpGet("http://www.......");
httpget.setConfig(defaultRequestConfig);
CloseableHttpResponse response = httpclient.execute(httpget);
// 获取进入登陆页面的返回报文, 截取信息
HttpEntity getLoginInfoentity = response.getEntity();
String contentStr = EntityUtils.toString(getLoginInfoentity, "GBK");
// 截取 csrfmiddlewaretoken
String csrfmiddlewaretoken = contentStr.split("name="csrf" value="")[1].split(""/>")[0];
EntityUtils.consume(getLoginInfoentity);
// 模拟登陆
HttpUriRequest login = RequestBuilder.post()
.setUri(new URI("http://www......."))
.addParameter("csrf", csrfmiddlewaretoken)
.addParameter("identification", userName)
.addParameter("password", password)
.setConfig(defaultRequestConfig)
.build();
CloseableHttpResponse loginResponse = httpclient.execute(login);
HttpEntity loginEntry = loginResponse.getEntity();
String loginContent = EntityUtils.toString(loginEntry, "GBK");
System.out.println(loginContent);
List cookies = cookieStore.getCookies();
for(Cookie one : cookies)
{
System.out.println(one.toString());
}
EntityUtils.consume(loginEntry);
// 登陆完成后模拟进入管理页面
HttpGet showIndexGet = new HttpGet("http://www....");
............
主要用的是 apache httpclient core 包,回复有字数限制,就贴这么多吧....1 回复 - 查看全部回帖
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于