package com.taobao.matrix.app.ao.invite;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.http.message.BasicNameValuePair;
public class NewTest1 {
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
// /////////////////////////////第一次登陆/////////////////////////////
List<NameValuePair> data = new ArrayList<NameValuePair>();
data.add(new NameValuePair("ltmpl", "yj_blanco"));
data
.add(new NameValuePair("continue",
"https://mail.google.com/mail/"));
data.add(new NameValuePair("ltmplcache", "2"));
data.add(new NameValuePair("service", "mail"));
data.add(new NameValuePair("rm", "false"));
data.add(new NameValuePair("hl", "en"));
data.add(new NameValuePair("Email", "baoxin.zhangbx"));
data.add(new NameValuePair("Passwd", ""));
data.add(new NameValuePair("rmShown", "1"));
data.add(new NameValuePair("null", "Sign in"));
// data.add(new NameValuePair("verifycookie", "0"));
// data.add(new NameValuePair("product", "mail163"));
// data.add(new NameValuePair("username", "zhangbaoxin231@163.com"));
// data.add(new NameValuePair("password", "3266472"));
PostMethod httpPost = new PostMethod(
"https://www.google.com/accounts/ServiceLoginAuth");
// httpPost.setRequestBody(data.toArray(new NameValuePair[data.size()]));
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
// 一定要有,否则会生成多个Cookie header送给web server
client.getParams().setParameter("http.protocol.single-cookie-header",
true);
client.getParams().setParameter("http.protocol.content-charset",
"gb2312");
PostMethod httpPost1 = new PostMethod(
"https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&bsv=1eic6yu9oa4y3&ss=1&scc=1<mpl=default<mplcache=2&hl=zh-CN");
client.executeMethod(httpPost1);
String GALX = null;
StringBuffer bu1 = new StringBuffer();
for (Cookie c : client.getState().getCookies()) {
bu1.append(c.getName());
bu1.append("=");
bu1.append(c.getValue());
bu1.append("\n");
if(c.getName().equals("GALX"))
GALX = c.getValue();
}
System.out.println(bu1.toString());
httpPost.setRequestHeader("Cookie",
"__utmx=173272373.; __utmxx=173272373.; __utma=173272373.277235200.1284868629.1284868629.1286418541.2;" +
" __utmz=173272373.1284868629.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); " +
"GoogleAccountsLocale_session=zh_CN; GALX="+GALX+"; PREF=ID=ec39501eba0ce0e3:U=d0ecc3b0a29bd9a5:TM=1284451856:LM=1284877014:S=VnxXUxRIJxO4dHoM; NID=39=YFRCbJct1WhHp1IRvhz5skCskZ6dW82Ave_-EoBrEymXm_mzJQ8VVVJSfomVxZgFG5TcGaDzZUMs1TiH7fo9VGaxRZ1ftHpUyQkgceVLYTMyugnbIRDQhNL_yKOeqEqH; TZ=-480; GMAIL_RTT=280; GMAIL_LOGIN=T1286846861638/1286846861638/1286847020950");
httpPost.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpPost.setRequestEntity(new StringRequestEntity("ltmpl=default" +
"<mplcache=2" +
"&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F%3F" +
"&service=mail" +
"&rm=false" +
// "&dsh=-1094667995636017014" +
"<mpl=default" +
"&hl=zh-CN" +
"<mpl=default" +
"&scc=1" +
"&ss=1" +
"&timeStmp=" +
"&secTok=" +
"&GALX="+ GALX+
"&Email=
username" +
"&Passwd=
pass" +
"&rmShown=1" +
"&signIn=%E7%99%BB%E5%BD%95" +
"&asts=","application/xml","UTF-8"));
client.executeMethod(httpPost);
// bu1 = new StringBuffer();
// for (Cookie c : client.getState().getCookies()) {
// bu1.append(c.getName());
// bu1.append("=");
// bu1.append(c.getValue());
// bu1.append("\n");
// }
//System.err.println(bu1.toString());
//System.err.println(httpPost.getResponseBodyAsString());
//
PostMethod httpPost2 = new PostMethod(
"https://mail.google.com/mail/contacts/data/contacts?thumb=true&show=ALL&enums=true&psort=Name&max=10000&out=js&rf=&jsx=true");
client.executeMethod(httpPost2);
System.err.println(httpPost2.getResponseBodyAsString());
分享到:
相关推荐
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...
本主题将深入探讨如何使用HttpClient4库进行百度和58同城的模拟登陆操作。HttpClient4是一个强大的Java库,它提供了丰富的功能来执行HTTP请求,非常适合进行网页交互。 首先,我们来了解HttpClient4的基本用法。...
本文将深入探讨如何使用Java中的HttpClient4库来实现对新浪和腾讯微博的模拟登录。HttpClient4是一个强大的HTTP客户端库,它允许开发者执行HTTP请求并处理响应,非常适合进行网页交互。 首先,我们来看`Sina.java`...
Jsoup+httpclient模拟登陆和抓取页面.pdf
本篇文章将详细讲解如何使用HttpClient进行模拟登录操作,结合源码分析,帮助开发者深入理解其工作原理。 HttpClient库由Apache基金会开发,提供了全面的HTTP协议支持,包括标准与扩展的HTTP方法、连接管理、重试...
在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...
### HTTPClient 模拟登录详解 #### 一、概述 HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的...
Jsoup+httpclient 模拟登录和抓取知识点: 1. Jsoup库使用介绍: - Jsoup是一个Java的HTML解析器,能够直接解析HTML文档,提供类似于jQuery的操作方法。 - 主要功能包括从URL、文件或字符串中解析HTML,使用DOM或...
情景描述 将一个时间转换为对应的unix时间戳, ... ...除此之外,我们对请求添加签名的校验,key.../// 获取时间戳(毫秒). /// /// <param name=dateTime></param> /// <returns></returns> [HttpPost] [AllowAnonymous]
在模拟登录成功后,我们可以通过HttpClient访问方正系统的其他接口,获取课程、成绩等信息。以下是一些关键步骤: 1. 保持会话:登录成功后,服务器通常会返回一个session cookie。在后续的请求中,我们需要把这个...
我们可以使用`getStatusLine`获取状态码,`getEntity`获取响应体,如果响应体是文本,可以使用`EntityUtils.toString(entity)`将其转换为字符串。 7. **异常处理**:执行HTTP请求可能会抛出IOException,需要捕获并...
本篇文章将详细讲解如何利用HttpClient 4.3版本来模拟登录新版12306(中国铁路客户服务中心网站)。 1. **HttpClient介绍** HttpClient是Apache的一个开源项目,它提供了强大的HTTP协议处理能力和灵活的HTTP客户端...
httpclient4 微信公众账号模拟登陆,网络上看到的,觉得不错上传出来,供大家一起共同分享学习。
HttpClient模拟http发送post和get请求
在这个场景中,我们使用HttpClient来调用远程接口,从电信公司的网站获取可用的新手机号码信息,并将这些数据存储到本地文件中。以下是对这个过程的详细解释: 1. **HttpClient的基本使用**: HttpClient提供了一...
在这个场景下,我们关注的是如何使用`HttpClient`进行模拟登录。 模拟登录通常是开发自动化测试、爬虫或集成服务时必要的步骤,它允许程序模仿用户在网页上的登录行为。以下是一份使用`HttpClient`进行模拟登录的...
Java模拟淘宝登录源码是一种常见的网络编程技术,主要用于自动化测试、数据抓取或者模拟用户行为。在这个场景中,我们使用的工具是HTTPClient库,这是一个强大的Java HTTP客户端应用编程接口,可以方便地处理HTTP...
工程里的入口类为:mnLogin.java ,由于模拟登陆的网站,使用了自签名的SSL证书,所以新增两个方法,创建HttpClient不校验服务端证书,后台通过调用登陆接口,获得返回的cookie信息,在使用登陆成功获得cookie,调取...