Java爬虫的底层获取模块,构造POC和漏洞检...


import java.io.BufferedReader;  import java.io.BufferedWriter;  import java.io.File;  import java.io.FileWriter;  import java.io.IOException;  import java.io.InputStreamReader;  import java.net.URLConnection;  import java.net.URL;    public class Test {  public static void main(String[] args) {  getHtml("http://www.baidu.com");  }    /**  * 保存文件  *  * @param name  * 文件名  * @param Lname  * 后缀名  * @param data  * 数据buffer  * @return boolean Tuue则保存成功False则保存失败  */  public static boolean save(String name String Lname String data) {  // 构造文件名  File html = new File("./" + name + "." + Lname);  try {  // 如果该文件存在则新建一个  if (!html.exists()) {  // 新建文件  html.createNewFile();  }  // 通过绝对路径打开一个文件写入  FileWriter fw = new FileWriter(html.getAbsoluteFile());  // 将buffer内容写入到文件中  BufferedWriter bw = new BufferedWriter(fw);  // 写入buffer的数据  bw.write(data);  // 关闭文件读写  bw.close();  return true;  } catch (Exception e) {  return false;  }    }    /**  * 爬取目标源代码  *  * @param target  * 目标URL  */  public static String getHtml(String target) {  // 初始化返回字符串  String result = "";  // 初始化buffer  BufferedReader in = null;  try {  // 构造URL对象  URL url_address = new URL(target);  // 打开连接  URLConnection get_url = url_address.openConnection();  // 构造http连接头  get_url.setRequestProperty("accept" "*/*");  get_url.setRequestProperty("connection" "Keep-Alive");  get_url.setRequestProperty("user-agent" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");  // 连接  get_url.connect();  // 读取输出的buffer流  in = new BufferedReader(new InputStreamReader(get_url.getInputStream()));  // 初始化行  String line;  // 循环读取每一行  while ((line = in.readLine()) != null) {  // 构造返回字符串  result += "\n" + line;  }  // 输出返回字符串  System.out.println(result);  } catch (Exception e) {  // 抛出HTTP连接异常  e.printStackTrace();  } finally {  // 如果in读取到数据则关闭读写  if (in != null) {  try {  in.close();  } catch (Exception e2) {  // 抛出文件读写异常  e2.printStackTrace();  }  }  }  // 返回站点源代码  return result;  }  }


分享这篇文章:
收藏+0