首页 网络安全 安全学院 查看内容

一个简单的Java获取源代码信息

2016-8-17 14:42 1515 0

摘要: Java爬虫的底层获取模块,构造POC和漏洞检测时常用爬虫抓取或发送测试代码查询目标站点的可疑bug 源代码 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fil ...

Java爬虫的底层获取模块,构造POC和漏洞检测时常用爬虫抓取或发送测试代码查询目标站点的可疑bug
源代码

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;
}
}

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论

返回顶部