`
an_six
  • 浏览: 5284 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

今天做的一个简单投票程序

阅读更多
朋友让我帮忙做个刷票程序,原来打算从网上找个程序给他就算了,但登陆那个网站发现验证码是直接生成的文字...网上找到的都是对图片的处理....
想想其实,自己也可以做一个刷票程序...
于是写了以下代码,基本是参照网上的资料和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();
	}
	}
}


0
0
分享到:
评论
1 楼 an_six 2010-05-04  
需要完善的是代理,我在网上看到都的基本是用拨号处理,不知道java做拨号程序方便不?
然后就是参数的配置文件化:比如url,post中的参数等

相关推荐

    一个简单的投票程序(JSP版)

    【标题】"一个简单的投票程序(JSP版)"所涉及的知识点主要集中在Java Web开发领域,具体包括Servlet和JSP技术的使用。以下是对这些技术及其在该程序中的应用进行的详细解释: 1. **Servlet**:Servlet是Java编程语言...

    java实现简单投票程序

    在本项目中,我们探讨的是如何使用Java编程语言来实现一个简单的投票程序。这个程序可能是为了模拟选举过程,收集和统计选民的选择。基于提供的标签,我们可以推断出该程序的开发环境是MyEclipse,这是一款强大的...

    实用免费的网络投票程序

    一、网络投票程序的核心功能 1. 创建投票:用户可以创建自定义的投票,设定投票题目、选项以及投票规则,如单选、多选、是否允许匿名投票等。 2. 参与投票:用户通过点击链接或访问特定页面参与投票,根据设定的...

    PHP写的一个简单投票系统

    【PHP编写简单投票系统】 PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在Web开发领域,PHP以其易学易用的特点深受开发者喜爱。本教程将基于一个简单的PHP投票系统来讲解相关知识,非常适合...

    自己开发的一个小的投票程序(C# 2.0)

    这是一个基于C# 2.0开发的小型投票程序。在这个项目中,开发者创建了一个基本的交互式应用,允许用户参与投票。尽管这个程序可能相对简单,但仍然涉及到多个IT领域的核心概念,包括前端用户界面设计、后端逻辑处理...

    asp简单投票,投票程序。

    ASP(Active Server Pages)是一种微软开发的服务器端脚本语言,常用于构建动态网页和Web应用程序。...通过学习和实践这样的简单投票程序,开发者可以掌握ASP基本的Web开发技能,并逐步提升到更复杂的Web应用程序设计。

    asp.net做的简单的投票系统

    这个“asp.net做的简单的投票系统”是初学者的一个实践项目,旨在帮助学习者理解如何利用ASP.NET技术来实现基本的交互功能。 在ASP.NET中,构建一个投票系统涉及到以下几个核心知识点: 1. **Web控件**:ASP.NET ...

    ajax文章心情投票程序php版

    【Ajax文章心情投票程序PHP版】是一个基于Ajax技术、PHP编程语言实现的互动性投票功能。这个程序允许用户在不刷新整个页面的情况下对文章进行心情投票,极大地提升了用户体验,使得网站交互更加流畅。 Ajax...

    简单蓝色打擂擂主投票微信端赶紧来投票小程序源码.zip

    【标题】中的“简单蓝色打擂擂主投票微信端赶紧来投票小程序源码”表明这是一个微信小程序的源代码,主要用于创建一个打擂擂主的投票活动。从名称来看,这个小程序设计简洁,颜色主题为蓝色,操作流程快速,旨在吸引...

    微信投票小程序

    - 创建投票:小程序中通常包含一个投票创建模块,用户可以设置投票主题、选项以及投票截止日期等参数。 - 投票参与:用户可以选择相应的投票选项,点击提交后,后台系统记录投票结果。 - 实时计数:小程序需要...

    一个简单的web jsp投票系统(适合初学者)

    【一个简单的Web JSP投票系统】是为初学者设计的,旨在帮助他们理解Web应用程序开发的基本概念,特别是使用JavaServer Pages (JSP) 技术。这个系统提供了一个基础架构,用户可以进行在线投票,体验如何处理用户输入...

    Application简单投票页面

    在IT行业中,构建一个“应用简单投票页面”是一项常见的任务,尤其在开发Web应用程序时。这个项目主要关注的是用户界面(UI)设计以及后端数据处理,以实现一个基本的投票功能。下面,我们将深入探讨这一主题,涵盖...

    VB写的投票程序源代码 win窗体

    【VB编写的投票程序】 VB(Visual Basic)是微软公司推出的一种基于事件驱动的编程语言,它是Visual Studio家族的一部分,以其简单易学、快速开发的特点深受程序员喜爱。本项目是用VB编写的投票程序,主要关注的是...

    简单投票系统,C#程序实例

    本实例中的“简单投票系统”是利用C#的基础知识构建的,主要涉及到以下几个关键知识点: 1. **控制台应用程序**:根据描述,这个投票系统很可能是一个基于控制台的程序。在C#中,使用`Console`类进行输入输出操作,...

    用MFC写的部门换届投票程序

    在这个项目中,我们利用MFC编写了一个简单的部门换届投票程序,旨在实现一个实用且易于操作的投票功能。下面将详细解析程序的核心知识点和实现方式。 一、MFC基础 1. MFC架构:MFC基于面向对象的设计,通过封装...

    php 简单投票程序[每人每天投一票]

    【PHP简单投票程序详解】 PHP是一种广泛使用的服务器端脚本语言,特别适合Web开发,用于创建动态交互式网站。在这个“每人每天投一票”的投票程序中,PHP扮演了核心角色,通过处理用户请求和存储投票信息来实现限制...

    投票程序:++实训题

    这是一个很好的练习循环结构的题目。在实现三角形和长方形时,可以利用两层嵌套循环来完成。对于三角形,外层循环控制行数,内层循环则根据当前行数决定打印字符的数量;长方形的实现与三角形类似,但内层循环需要...

    投票系统(VC++源代码)

    "投票系统(VC++源代码)" 这个标题表明这是一个使用Microsoft的C++编程语言,即Visual C++(通常简写为VC++),开发的投票应用程序。该系统是基于源代码的形式提供的,意味着用户可以查看、学习和修改其内部逻辑。 ...

    一个简单的网上投票系统用JSP做的小程序

    在"一个简单的网上投票系统"中,JSP扮演了核心的角色,负责处理用户的请求,存储和检索投票数据,以及展示结果。 1. **JSP页面结构**: JSP页面由两部分组成:静态内容(HTML、CSS、JavaScript)和动态内容(Java...

    I-Poll(简单的投票程序)

    【I-Poll(简单的投票程序)】是一款基于PHP开发的轻量级投票应用程序,它旨在为用户提供一个便捷的在线投票平台。这款程序的核心特点是其简洁易用,特别适合那些需要快速搭建简单投票功能的网站或者个人用户。默认...

Global site tag (gtag.js) - Google Analytics