java发送http请求
2017-12-13 21:37
429 查看
【题目】
java实现论坛灌水程序:
主要是请求连接、登录、获得session信息
【回顾】
让你的飞秋死机:建立UDP连接连续发送多条消息
【代码】
【演示效果】
【说明】
代码未运行,因测试网址已经失效。
若编码出错,请见谅。
发帖部分留作思考。
java实现论坛灌水程序:
主要是请求连接、登录、获得session信息
【回顾】
让你的飞秋死机:建立UDP连接连续发送多条消息
【代码】
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.*; import java.util.List; import java.util.Map; public class JavaHTTP { private String cookieGlobal="";//全局变量 public static void main(St 4000 ring[] args) { // TODO Auto-generated method stub JavaHTTP jhh=new JavaHTTP(); //jhh.sendGet("http://www.baidu.com",""); jhh.sendPost("http://localhost/agileone/index.php/common/login","username=admin&password=admin&savelogin=true",jhh.cookieGlobal);//获得“successful” } //发送get请求 public void sendGet(String urlAddress,String cookie){ try{ //1.建立连接并发送请求 HttpURLConnection urlConnection=null; URL url=new URL(urlAddress); urlConnection=(HttpURLConnection)url.openConnection();//建立连接,打开地址 urlConnection.setConnectTimeout(5000);//set开头的是设置连接参数,超时5000ms,超过则放弃连接 urlConnection.setReadTimeout(5000);//读超时时间 urlConnection.setConnectTimeout(5000); urlConnection.setUseCaches(false);//是否使用缓存:不使用 urlConnection.setRequestProperty("Cookie",cookie);//设置请求的属性 urlConnection.connect();//发送get请求 //2.获取响应内容,验证是否请求成功 BufferedReader bf=new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"UTF-8")); //先读输入流,再将其放入缓冲区 String line=bf.readLine(); while(line!=null){ System.out.println(line); line=bf.readLine();//输出读到的内容 } } catch(Exception e){ e.printStackTrace(); } } //发送POST请求 public void sendPost(String urlAddress,String paramValue,String cookie ){//多一个post正文参数 try{ //1.建立连接并发送请求 HttpURLConnection urlConnection=null; URL url=new URL(urlAddress); urlConnection=(HttpURLConnection)url.openConnection(); urlConnection.setConnectTimeout(5000); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); urlConnection.setUseCaches(false); urlConnection.setDoOutput(true);//允许输出 urlConnection.setRequestProperty("Cookie",cookie);//"password=admin;username=admin;PHPSESSID=...." urlConnection.connect(); //比get方法多了下面三行 PrintWriter pw=new PrintWriter(urlConnection.getOutputStream()); pw.print(paramValue); pw.flush(); //2.获取响应内容,验证是否请求成功 BufferedReader bf=new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"UTF-8")); //先读输入流,再将其放入缓冲区 String line=bf.readLine(); while(line!=null){ System.out.println(line); line=bf.readLine();//输出读到的内容,即响应的正文 } //输出响应的头,找cookie值 //System.out.println(urlConnection.getHeaderField("Set-Cookie")); Map<String,List<String>> map=urlConnection.getHeaderFields(); List list=(List)map.get("Set-Cookie"); for(int i=0;i<list.size();i++){ String temp=list.get(i).toString(); String value[]=temp.split(":"); this.cookieGlobal+=value[0]+";"; } System.out.println(cookie); } catch(Exception e){ e.printStackTrace(); } } }
【演示效果】
【说明】
代码未运行,因测试网址已经失效。
若编码出错,请见谅。
发帖部分留作思考。
相关文章推荐
- java 常见几种发送http请求案例
- java发送http请求并获取状态码的简单实例
- java基于ApacheHttpClient发送Http请求实现
- Java 发送http请求,上传文件
- 【JAVA】通过URLConnection/HttpURLConnection发送HTTP请求的方法(一)
- Java发送Http请求,模拟表单上传文件
- java发送http请求
- java发送http请求实例
- java 发送 json、xml格式的 http请求,并读取响应response内容实例
- java发送http请求
- 通过java.net.URLConnection发送HTTP请求
- 代码中发送http请求, java.lang.IllegalArgumentException: Illegal character in query at index...,非法字符错误解决办法
- 【转】Java发送Http请求
- java发送http请求并获取状态码
- JAVA模拟发送HTTP请求
- Java发送Http请求,解析html返回
- java发送http请求(URL、HttpClient)
- Java发送HTTP请求时编码问题
- JAVA发送HTTP请求(post、get),读取HTTP响应内容,实例及应用
- java 实现ajax发送http请求,直接访问服务器