网易天谕-抢游戏验证码-java版

主函数:

package com.tianyu;

import java.sql.Connection;
import java.sql.DriverManager;

import com.alibaba.fastjson.JSONObject;

public class Main {

	public static String game_url = "http://ka.game.163.com/service/cardsvc/taohao?id=12374";

	public static String driver_url = "jdbc:mysql://localhost:3306/tianyu?user=root&password=bianbian";

	public static String active_url = "http://s.webcgi.163.com/tianyu-active-code/activate_code?callback=jQuery16405689243660308421_1425463449791&[email protected]&[email protected]&code=88888888&phone=18319381102&server_id=4&r=0.936580075416714&_=1425463512824";

	public static String active_cookie = "usertrack=c+5+hlTugfWFJRdQnnwNAg==; _ntes_nnid=4904adbda635e2b4c3300430f25a4b60,1424916988772; _ntes_nuid=4904adbda635e2b4c3300430f25a4b60; Province=020; City=0755; vjuids=-a362cb80.14bd01c11ac.0.919a8084; ne_analysis_trace_id=1425459633430; pgr_n_f_l_n3=42bfb7239ea4e51514254596334311653; vjlast=1425125675.1425459653.11; vinfo_n_f_l_n3=42bfb7239ea4e515.1.2.1425125675451.1425264968449.1425462798644; s_n_f_l_n3=42bfb7239ea4e5151425459633463; NTES_SESS=sG7cR1yOdzYSSkeCondwkOZNSblPgdE8TnwNABR_wA3a449dfwF.1PEJrGGB8aENb.xrEX3o1LRrk_1EgYmHPDdPgqyDC1UeROp9TYiwiVE8dANEwXI3akfykJWJ7KQxB37FwI96wGFwp.w8OsQOCipt.; S_INFO=1425462851|0|##|[email protected]; [email protected]|1425462851|0|other|00&99|gud&1425383570&other#gud&440300#10#0#0|&0||[email protected]; ANTICSRF=335fae91042b660cf700404af040b584";

	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn = DriverManager.getConnection(driver_url);
			while(true) {
				CallUrl call = new CallUrl();
				JSONObject obj = call.getJSONByTianYu(game_url);
				System.out.println(active_url.replaceAll("code=88888888", "code="+obj.getJSONObject("data").getString("used_key")));
				GameACTIVE.Active(active_url.replaceAll("code=88888888", "code="+obj.getJSONObject("data").getString("used_key")), active_cookie);
				SaveJSON.saveData(conn, obj);
			}
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
}

账号激活类:

package com.tianyu;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class GameACTIVE {

	public static boolean Active(String active_url,String cookie_url) {
		try {
			Thread.sleep(10000);
			URL u = new URL(active_url);
			HttpURLConnection conn = (HttpURLConnection) u.openConnection();
			conn.setConnectTimeout(5*1000);
			conn.setRequestMethod("GET");
			conn.setRequestProperty("Cookie", cookie_url);
			//conn.connect();
			InputStream stream = conn.getInputStream();
			byte[] data = CallUrl.streamToByte(stream);
			stream.close();
			System.out.println(new String(data,"utf-8"));
		} catch (Exception e) {
			e.printStackTrace();
		} finally {

		}
		return false;
	}

}

获取验证码数据类:

package com.tianyu;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.alibaba.fastjson.JSONObject;

public class CallUrl {

	public JSONObject getJSONByTianYu(String url) {
		JSONObject obj = null;
		HttpURLConnection conn = null;
        try {
        	URL u = new URL(url);
        	conn = (HttpURLConnection) u.openConnection();
    		conn.setConnectTimeout(5*1000);
			conn.setRequestMethod("GET");
			InputStream inStream = conn.getInputStream();    
	        byte[] data =streamToByte(inStream);
	        String result = new String(data, "UTF-8");
	        return obj.parseObject(result);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
		}
        return null;
	}

	public static byte[] streamToByte(InputStream stream) throws IOException {
		ByteArrayOutputStream swapStream = new ByteArrayOutputStream();  
        byte[] buff = new byte[100];  
        int rc = 0;  
        while ((rc = stream.read(buff, 0, 100)) > 0) {  
            swapStream.write(buff, 0, rc);  
        }  
        byte[] in2b = swapStream.toByteArray();  
        return in2b;
	}
}

保存激活码类:

package com.tianyu;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.alibaba.fastjson.JSONObject;

public class SaveJSON {

	public static String sql = "insert into tianyu(status,use_count,used_key) values(?,?,?)";

	public static boolean saveData(Connection conn, JSONObject obj) {
		try {
			PreparedStatement statement = conn.prepareStatement(sql);
			statement.setString(1, obj.getString("status"));
			JSONObject o = obj.getJSONObject("data");
			statement.setString(2, o.getString("use_count"));
			statement.setString(3, o.getString("used_key"));
			System.out.println(obj);
			return statement.execute();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

}

最后附上pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tianyu</groupId>
  <artifactId>TianYu</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>TianYu</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.27</version>
    </dependency>
    
    <dependency>
	    <groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.4</version>
    </dependency>
  </dependencies>
</project>

游戏虽好,但不要贪杯噢。饥饿营销去屎吧!!!

时间: 2024-10-04 22:37:37

网易天谕-抢游戏验证码-java版的相关文章

Java版贪吃蛇小游戏的实现

使用的IDE eclipse JDK版本 1.6 辅助类 Coordinate.java package com.nn.util; /** *坐标点 */ public class Coordinate { public int x; public int y; public Coordinate(int newX, int newY) { x = newX; y = newY; } public boolean equals(Coordinate other) { if (x == other

相当牛X的java版星际游戏

分享一款牛人用java写的经典游戏,目录结构如下: 虽然只能算一个Demo,但是用到了很多Java基础技术和算法: Java2D,双缓冲,A星寻路,粒子系统,动画效果,处理图片,Swing ui ,UDP,TCP/Socket. 另外这个程序也可以看出jre1.5和jre1.6之前的性能差别.(jre1.5下面运行很卡) (源代码在awt.rar中). 暂时支持采矿,攻击,寻路,局域网对战. 两张效果图: 下载页面:java版星际游戏 注:不要忘了导入jstarcaft.jar这个jar包 (I

Java版打字练习游戏源码

代码如下 import java.applet.Applet; import java.applet.AudioClip; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Rectangle; import javax.swing.BorderFactory;

网易云音乐Java版爬虫

网易云音乐Java版爬虫 在编写爬虫之前,我们需要对网易云音乐网站网页类型进行分析,确认哪些页面是我们需要的,哪些页面是我们可以忽略的. 进入网易云音乐首页,浏览后发现其大概有这么几种类型的URL: 推荐页面 排行榜列表以及排行榜页面 歌单列表以及歌单页面 主播电台列表以及主播电台页面 歌手列表以及歌手页面 专辑列表(新碟上架)以及专辑页面 歌曲页面 最终需要爬取的数据在歌曲页面中,该页面里包含了歌曲的名称以及歌曲的评论数量. 另外,我们还需要尽可能多的获取歌曲页面,这些信息我们可以从前面6种类

Java版贪吃蛇(比较完善的版本)

很认真的写的一个java版的贪吃蛇游戏,图形界面,支持菜单操作,键盘监听,可加速,减速,统计得分,设定运动速度,设定游戏背景颜色等!应该没有Bug了,因为全被我修改没了.哈哈. 下面是项目各包及类的层次关系: 游戏的主要运行界面截图如下: 下面是部分代码,详细源码见此链接:http://pan.baidu.com/s/1bnubnzh //Snake类: package com.huowolf.entities; import java.awt.Color; import java.awt.Gr

AKKA文档(java版)

目前我正在翻译AKKA官网文档.翻译:吴京润 译者注:本人正在翻译AKKA官网文档,本篇是文档第一章,欢迎有兴趣的同学加入一起翻译.更多内容请读这里:https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/lists/ded96c34f7ce4a6bb8b5473f596e1008/show/https://tower.im/projects/ac49db18a6a24ae4b340a5fa22d930dc/todos/640e53d

最严格的身份证校验(Java版)

上一篇博客贴出了JavaScript版本的身份证校验,本篇博客将贴出Java版的身份证校验:         import java.util.Date; /** * 校验身份证号码是否有效 * * @author GaoHuanjie */         public class CheckCertificateNo { @SuppressWarnings("deprecation") publicstaticvoid main(String[] args) { String ce

PetaPojo —— JAVA版的PetaPoco

背景 由于工作的一些原因,需要从C#转成JAVA.之前PetaPoco用得真是非常舒服,在学习JAVA的过程中熟悉了一下JAVA的数据组件: MyBatis 非常流行,代码生成也很成熟,性能也很好.但是DEBUG的时候不方便,且XML写SQL也不是很适应,尤其是团队比较小没有专职DBA的情况下. Hibernate 使用过NHibernate,做企业应用倒是挺适合的.掌握并用好它不是一件很容易的事情,尤其是团队水平不够,目标项目为互联网游戏平台的时候. sql2o 开源项目,轻量级的ORM,与D

微博URL短网址生成算法原理及(java版、php版实现实例)

短网址(Short URL),顾名思义就是在形式上比较短的网址.通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流.目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接. 例如:http://t.cn/SzjPjA 短网址服务,可能很多朋友都已经不再陌生,现在大部分微博.手机邮件提醒等地方已经有很多应用模式了,并占据了一定的市场.估计很多朋友现在也正在使用. 看过新浪的短连接服务,发现后面主要有6个字符串组成,于是第一个