- 浏览: 444371 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
danStart:
想问问,能监测服务是否挂掉吗?
公司要求实时监控服务器,写个Web的监控系统 -
hepct:
你好,最近在搭一个游戏服务器,能加好友请教下吗?1538863 ...
java游戏服务端实现 -
Limewwy:
没打完就发表了?为啥要这样设置?【游戏中需要传递用户的积分,这 ...
java游戏服务端实现 -
Limewwy:
楼主您好。请教为啥要这样设计?
java游戏服务端实现 -
3849801:
楼主,能够提供更具体的文档或者指导吗?我想搭建一个服务端,非常 ...
java游戏服务端实现
public class QQ {
public static final String QQNUM = "1985063628"; // QQ行号码
public static final String PASSWORD = "JDCZ1gsdps"; // 密码
private static DefaultHttpClient httpclient = new DefaultHttpClient();
private static boolean loginFlag = false;
private static List<Cookie> cookies;
private static HttpResponse response;
private static HttpGet request;
private static String verifyString;
private static String verifySession;
private static void getVerifyImage() throws Exception {
String url = "http://ptlogin2.qq.com/getimage?aid=8000108&0.7022592303274631";
HttpGet httpget = new HttpGet(url);
httpget.addHeader("Cookie", "");
httpget.setHeader("Accept", "text/html, */*");
httpget
.addHeader("User-Agent",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727)");
// httpget.addHeader("Connection", "close");
// httpget.setHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT
// 5.1; zh-CN; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20")
response = httpclient.execute(httpget);
Header[] headers = response.getHeaders("Set-Cookie");// .getAllHeaders();
for (Header h : headers) {
System.out.println(h);
}
verifySession = headers[0].getValue().split(";|=")[1];
InputStream in = response.getEntity().getContent();
File verifyFile = new File(QQ.class.getResource("output").getPath()
+ "/verifycode.jpg");
FileOutputStream out = new FileOutputStream(verifyFile);
byte[] buf = new byte[1024];
while (in.read(buf) != -1) {
out.write(buf);
}
out.flush();
System.out.println("验证码图片已生成。路径:" + verifyFile.getCanonicalPath());
System.out.println("请输入验证码:");
verifyString = new BufferedReader(new InputStreamReader(System.in))
.readLine();
while (verifyString.length() != 4) {
System.out.println("验证码长度有误,请输入4位验证码:");
verifyString = new BufferedReader(new InputStreamReader(System.in))
.readLine();
}
}
public static void doLogin() throws Exception {
if (!loginFlag) {
getVerifyImage();
HttpPost httpost = new HttpPost("http://ptlogin2.qq.com/login");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("u", QQNUM));
nvps.add(new BasicNameValuePair("p", MD5Security.md5(MD5Security.md5_3(PASSWORD)
+ verifyString.toUpperCase())));
nvps.add(new BasicNameValuePair("verifycode", verifyString));
nvps.add(new BasicNameValuePair("aid", "8000108"));
nvps.add(new BasicNameValuePair("u1",
"http://imgcache.qq.com/qzone/v5/loginsucc.html"));
nvps.add(new BasicNameValuePair("fp", "loginerroralert"));
nvps.add(new BasicNameValuePair("h", "1"));
nvps.add(new BasicNameValuePair("ptredirect", "0"));
nvps.add(new BasicNameValuePair("ptlang", "0"));
nvps.add(new BasicNameValuePair("from_ui", "1"));
nvps.add(new BasicNameValuePair("dumy", "1"));
httpost
.setHeader("User-Agent",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727)");
httpost.setHeader("Cookie", "verifysession=" + verifySession + ";");
httpost
.setHeader(
"Referer",
"http://ui.ptlogin2.qq.com/cgi-bin/login?link_target=blank&target=self&appid=8000108&qlogin_jumpname=vipmyqq&f_url=loginerroralert&qlogin_auto_login=1&s_url=http%3A//imgcache.qq.com/qzone/v5/loginsucc.html&qlogin_param=jump_url%3D");
httpost.setHeader("Accept", "text/html, */*");
httpost.removeHeaders("Cookie2");
httpost.removeHeaders("Expect");
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
response = httpclient.execute(httpost);
cookies = httpclient.getCookieStore().getCookies();
if (cookies.size() < 3) {
System.err.println("登录失败...");
loginFlag = false;
} else {
System.out.println("登录成功...");
for (Cookie c : cookies) {
System.out.println(c);
}
loginFlag = true;
}
}
}
public static void main(String[] args) throws Exception {
doLogin();
}
发表评论
-
ant使用小结
2014-04-01 13:12 3298Java代码 1. <prope ... -
Win7上防火墙开着没法被其他机器访问FTP Server的解决方案
2012-03-28 15:10 2632The following 4 steps will allo ... -
在线查询使用常用API
2011-09-13 13:30 1386转载 收集了一些常用的API参考文档,放在这里以备及时 ... -
在linux中执行平台相关runtime.exec()
2011-03-23 15:46 2165/* * @(#) Exec.java Feb 28, 201 ... -
Finalize 和 GC的区别
2011-02-16 10:38 1244finalize()是由JVM自动调用的,你可以用System ... -
转:ThreadLocal示例
2010-09-09 09:00 1369本文借花献佛,引用Ti ... -
http模拟投票机(转)
2010-09-06 11:50 1801原创地址:http://www.iteye.com/topic ... -
利用Tomcat7.0新特性,用BS实现CS的聊天服务器
2010-07-03 15:29 3506Tomcat7.0.0已经出来了,关注它已经支持se ... -
java加密解密
2010-04-16 11:29 1768转载:http://blog.csdn.net/xwchen/ ... -
优化MyEclipse
2010-01-04 14:23 1294“工欲善其事必先利其 ... -
Tomcat中禁止访问某些目录和文件
2009-06-18 15:39 16268你如下设置就可以了 Tomcat_Homt\c ... -
html放入一个String中,将每行<td class = "b"></td>中的值读出
2009-04-09 17:33 2716我现在有一个网页。 <html> <body ... -
编写高效的线程安全类
2009-03-24 11:22 950文档选项 ... -
Struts中Token的使用方法
2008-11-25 16:11 4678Token的使用方法使用Token可以防止当用 ... -
一个基于Java和ajax得Web层聊天室
2008-10-11 17:22 4299一个基于Java和Ajax的聊 ... -
J2EE开发之常用开源项目介绍
2008-08-06 19:49 1087J2EE开发之常用开源项目介绍 主要就我所了解的J2EE开 ... -
获得来访IP
2008-07-30 15:54 1528public static String ge ... -
Java发送Html请求,并解析返回的请求
2008-07-10 11:00 9515今天是2008年7月7日星期一,下午一直在学校做个人开始页面。 ... -
编写对gc友好,又不泄露的代码
2008-07-10 09:59 1147作者:江南白衣,最新版链接:http://blog.csdn. ... -
java.util.Collections.sort(List list)与Comparable,
2008-07-09 17:31 4920java.util.Collections.sort(List ...
相关推荐
在本文中,我们将深入探讨如何使用C#编程语言来实现模拟登录的功能,特别是在Windows Forms(Winform)环境中进行可视化编程。模拟登录通常涉及到自动化过程,它允许程序通过模拟用户输入来登录网站或应用程序,这...
在IT行业中,模拟登录是一项常见的任务,特别是在自动化测试、数据抓取或数据分析等领域。Java作为广泛应用的编程语言,提供了丰富的库来实现这一功能。本文将详细介绍如何使用Java进行模拟登录,特别是结合OCR技术...
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
【C#网站模拟登录器与验证码处理技术】 在IT领域,模拟登录是一种常见的自动化测试或数据抓取技术,主要用于测试网站的功能或者获取特定网站的数据。本项目提供的"C#网站模拟登录器"是一个用C#语言编写的程序,它...
代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~代码仅供参考学习~天眼查模拟登录天眼查模拟登录是指通过爬虫脚本模拟用户在天眼查网站上进行登录,以方便执行需要登录权限的操作,如查看更...
在IT行业中,模拟登录网站是一项常见的任务,特别是在自动化测试、数据抓取或API接口测试等领域。`HttpUnit` 是一个非常实用的Java库,它允许开发者无须浏览器就能执行客户端的HTTP请求,非常适合用于模拟用户行为,...
在IT行业中,模拟登录是一项常见的任务,特别是在自动化测试、数据抓取或数据分析等场景下。本项目名为"Java模拟登录百度Demo",旨在通过Java编程语言实现对百度网站的自动登录功能。在这个教程中,我们将深入探讨...
在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...
在IT行业中,模拟登录是一项常见的任务,特别是在网络爬虫或者自动化测试中。腾讯微博作为曾经流行的社交媒体平台,其模拟登录的实现对开发者来说具有一定的学习价值。本示例旨在教你如何通过编程方式模拟用户登录...
QQ模拟登录Qzone并自动赞说说涉及到的技术主要包括网络编程、身份验证以及自动化脚本编写。下面将详细解析这些知识点: 1. **网络编程**:QQ空间登录是通过网络发送HTTP或HTTPS请求到腾讯服务器完成的。理解HTTP...
在IT领域,模拟登录是一种常见的自动化任务,常用于测试、数据抓取或自动化运维场景。C#作为.NET框架的主要编程语言,提供了丰富的库和工具来实现这样的功能。本项目"**C#模拟登录(含验证码)**"正是针对这一需求而...
在本项目"jQuery和mock模拟登录.zip"中,我们聚焦于前端开发中的一个重要环节——登录功能的实现。这个压缩包提供了完整的源代码,包括HTML、CSS、JavaScript以及mock.js文件,便于开发者进行实战演练。接下来,我们...
在编程领域,模拟登录是一种常见的技术,主要用于自动化测试、数据抓取或个人项目中,以自动填写和提交网站登录表单。本项目提供了一个简单的模拟登录的源代码,旨在帮助初学者理解这一过程。以下是对这个项目的详细...
python使用requests模拟登录带验证码的专利网站demo
企业微信模拟登录与自动安装内部应用是现代企业自动化办公中常见的需求,这涉及到API接口调用、自动化测试和脚本编程等多个技术领域。在本文中,我们将深入探讨如何实现这一功能,以及它背后的关键知识点。 首先,...
在本案例中,我们关注的是“SteamLogin”,一个针对Steam平台进行模拟登录的项目。Steam是一个全球知名的数字发行平台,提供了游戏购买、下载以及社区交流等功能。Python是实现Web爬虫的常用编程语言,因其丰富的库...
这个项目就是基于Android Studio,使用OkHttp3和Jsoup库来实现模拟登录并抓取网页数据的示例。以下是对这个项目及其关键技术的详细解析: 1. **OkHttp3**:OkHttp是一个高效的HTTP客户端,它提供了异步和同步请求...
而当遇到需要登录才能访问的网站时,我们通常需要模拟登录来获取数据。本项目"**C#模拟登录蜘蛛抓取.zip**"即展示了如何在C#环境中实现这个功能。主要涉及的技术点包括`CookieContainer`和`stream`,这两个概念是...
本主题聚焦于“iCloud模拟登录获取位置信息”,这涉及到网络通信、JSON数据解析以及iOS设备的管理。 首先,我们要理解iCloud的登录过程。通常,用户通过Apple ID和密码进行身份验证。模拟登录意味着我们需要用编程...
本教程将详细讲解如何利用 Selenium 模拟登录新浪微博,包括必要的环境配置、关键代码实现以及可能遇到的问题。 首先,我们需要准备的工具有:Python 编程语言、Selenium 库、WebDriver(火狐驱动或 PhantomJS 驱动...