朋友让我帮忙做个刷票程序,原来打算从网上找个程序给他就算了,但登陆那个网站发现验证码是直接生成的文字...网上找到的都是对图片的处理....
想想其实,自己也可以做一个刷票程序...
于是写了以下代码,基本是参照网上的资料和api帮助文档....可惜最后对代理处理还是没成功,总是连接失败.....
import java.io.*;
import java.net.*;
public class shuapiao {
String myurl="";//投票填写的url
String sub_gdly="http://";//投票处理的url
String session_id="";
String id="";
String proxyAddr="82.205.237.26";
int proxyPost=8080;
//HttpURLConnection conn = (HttpURLConnection)url.openConnection();
public shuapiao(String myurl){
this.myurl=myurl;
}
public String getUrl(){
String valid="";
try {
InputStream in;
Proxy proxy=new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress
(this.proxyAddr,this.proxyPost));
URL url=new URL(myurl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();//代理总连接不上,所以没用
//int size = conn.getHeaderFields().size();
conn.setDoOutput(true);
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
conn.setRequestProperty("host","www");//主机地址
conn.setRequestProperty("Connection","keep-alive");//长连接,这个很好用!
//HttpURLConnection connection = (HttpURLConnection)url.openConnection();
conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
conn.connect();
in = conn.getInputStream();
java.io.BufferedReader breader =
new BufferedReader(new InputStreamReader(in , "GBK"));
String str=breader.readLine();
while(str != null){
System.out.println(str);
if(str.indexOf("验证码:<input type=\"text\" name=\"verifycode\" size=\"4\" /><font color=
\"#0000FF\" face=\"Georgia, Times New Roman, Times, serif\" size=\"3\"><i><b>")>-1){
valid=str.substring(str.indexOf("<b>")+3, str.indexOf("</b>"));
}
str=breader.readLine();
}
String cookieval = conn.getHeaderField("set-cookie");
System.out.println(cookieval);
String sessionid=null;
if(cookieval != null){
sessionid=cookieval.substring(0,cookieval.indexOf(";"));
}
System.out.println(sessionid);
this.session_id=sessionid+"&path=/";
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return valid;
}
public void postURL(){
try {
Proxy proxy=new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress
(this.proxyAddr,this.proxyPost));
URL url=new URL(sub_gdly);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
conn.setRequestProperty("host","www.163.com");
conn.setRequestProperty("Connection","keep-alive");
conn.setRequestProperty("cookie", session_id.substring(0,session_id.indexOf("&")));
StringBuffer sb=new StringBuffer();
sb.append
("name=01&name=10&name=02&name=03&name=04&name=05&name=06&name=24&name=07&name=08&name1=hhhf&sex=
%C4%D0&tele=111111111&comp=111111&addr=11111&postcode=010000&verifycode=" +
this.id+"&B1=%CC%E1%BD%BB");
System.out.println(sb.toString());
OutputStream os=conn.getOutputStream();
os.write(sb.toString().getBytes("GBK"));
os.close();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
conn.connect();
String line = br.readLine();
while(line != null){
System.out.println(line);
line = br.readLine();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String args[]){
for(int i=0;i<10;i++){
shuapiao u=new shuapiao("http://");
u.id=u.getUrl();
u.postURL();
}
}
}
分享到:
相关推荐
【标题】"一个简单的投票程序(JSP版)"所涉及的知识点主要集中在Java Web开发领域,具体包括Servlet和JSP技术的使用。以下是对这些技术及其在该程序中的应用进行的详细解释: 1. **Servlet**:Servlet是Java编程语言...
在本项目中,我们探讨的是如何使用Java编程语言来实现一个简单的投票程序。这个程序可能是为了模拟选举过程,收集和统计选民的选择。基于提供的标签,我们可以推断出该程序的开发环境是MyEclipse,这是一款强大的...
一、网络投票程序的核心功能 1. 创建投票:用户可以创建自定义的投票,设定投票题目、选项以及投票规则,如单选、多选、是否允许匿名投票等。 2. 参与投票:用户通过点击链接或访问特定页面参与投票,根据设定的...
【PHP编写简单投票系统】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在Web开发领域,PHP以其易学易用的特点深受开发者喜爱。本教程将基于一个简单的PHP投票系统来讲解相关知识,非常适合...
这是一个基于C# 2.0开发的小型投票程序。在这个项目中,开发者创建了一个基本的交互式应用,允许用户参与投票。尽管这个程序可能相对简单,但仍然涉及到多个IT领域的核心概念,包括前端用户界面设计、后端逻辑处理...
ASP(Active Server Pages)是一种微软开发的服务器端脚本语言,常用于构建动态网页和Web应用程序。...通过学习和实践这样的简单投票程序,开发者可以掌握ASP基本的Web开发技能,并逐步提升到更复杂的Web应用程序设计。
这个“asp.net做的简单的投票系统”是初学者的一个实践项目,旨在帮助学习者理解如何利用ASP.NET技术来实现基本的交互功能。 在ASP.NET中,构建一个投票系统涉及到以下几个核心知识点: 1. **Web控件**:ASP.NET ...
【Ajax文章心情投票程序PHP版】是一个基于Ajax技术、PHP编程语言实现的互动性投票功能。这个程序允许用户在不刷新整个页面的情况下对文章进行心情投票,极大地提升了用户体验,使得网站交互更加流畅。 Ajax...
【标题】中的“简单蓝色打擂擂主投票微信端赶紧来投票小程序源码”表明这是一个微信小程序的源代码,主要用于创建一个打擂擂主的投票活动。从名称来看,这个小程序设计简洁,颜色主题为蓝色,操作流程快速,旨在吸引...
- 创建投票:小程序中通常包含一个投票创建模块,用户可以设置投票主题、选项以及投票截止日期等参数。 - 投票参与:用户可以选择相应的投票选项,点击提交后,后台系统记录投票结果。 - 实时计数:小程序需要...
【一个简单的Web JSP投票系统】是为初学者设计的,旨在帮助他们理解Web应用程序开发的基本概念,特别是使用JavaServer Pages (JSP) 技术。这个系统提供了一个基础架构,用户可以进行在线投票,体验如何处理用户输入...
在IT行业中,构建一个“应用简单投票页面”是一项常见的任务,尤其在开发Web应用程序时。这个项目主要关注的是用户界面(UI)设计以及后端数据处理,以实现一个基本的投票功能。下面,我们将深入探讨这一主题,涵盖...
【VB编写的投票程序】 VB(Visual Basic)是微软公司推出的一种基于事件驱动的编程语言,它是Visual Studio家族的一部分,以其简单易学、快速开发的特点深受程序员喜爱。本项目是用VB编写的投票程序,主要关注的是...
本实例中的“简单投票系统”是利用C#的基础知识构建的,主要涉及到以下几个关键知识点: 1. **控制台应用程序**:根据描述,这个投票系统很可能是一个基于控制台的程序。在C#中,使用`Console`类进行输入输出操作,...
在这个项目中,我们利用MFC编写了一个简单的部门换届投票程序,旨在实现一个实用且易于操作的投票功能。下面将详细解析程序的核心知识点和实现方式。 一、MFC基础 1. MFC架构:MFC基于面向对象的设计,通过封装...
【PHP简单投票程序详解】 PHP是一种广泛使用的服务器端脚本语言,特别适合Web开发,用于创建动态交互式网站。在这个“每人每天投一票”的投票程序中,PHP扮演了核心角色,通过处理用户请求和存储投票信息来实现限制...
这是一个很好的练习循环结构的题目。在实现三角形和长方形时,可以利用两层嵌套循环来完成。对于三角形,外层循环控制行数,内层循环则根据当前行数决定打印字符的数量;长方形的实现与三角形类似,但内层循环需要...
"投票系统(VC++源代码)" 这个标题表明这是一个使用Microsoft的C++编程语言,即Visual C++(通常简写为VC++),开发的投票应用程序。该系统是基于源代码的形式提供的,意味着用户可以查看、学习和修改其内部逻辑。 ...
在"一个简单的网上投票系统"中,JSP扮演了核心的角色,负责处理用户的请求,存储和检索投票数据,以及展示结果。 1. **JSP页面结构**: JSP页面由两部分组成:静态内容(HTML、CSS、JavaScript)和动态内容(Java...
【I-Poll(简单的投票程序)】是一款基于PHP开发的轻量级投票应用程序,它旨在为用户提供一个便捷的在线投票平台。这款程序的核心特点是其简洁易用,特别适合那些需要快速搭建简单投票功能的网站或者个人用户。默认...