[Java] 获取保存某一个网站的内容详解编程语言
2023-06-13 09:11:47 时间
以下代码可用于获取某一个链接的响应结果, 并将响应结果做简单的处理后, 存入文件中。
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.io.OutputStreamWriter; import java.net.URL; import java.net.URLConnection; import java.util.Date; import java.util.List; import java.util.Map; import javax.print.attribute.standard.DateTimeAtCompleted; public class GetResponse { /** * 向指定URL发送GET方法的请求 * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是 name1=value1 name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; System.out.println("读取响应:" + urlNameString); URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map String, List String map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--- " + map.get(key)); // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } catch (Exception e2) { e2.printStackTrace(); return result; public static void main(String[] args) { Date currenttime = new Date(); String url = "http://xxx.com"; String result = ""; for (int i = 0; i i++) { if (result.equals("")) { currenttime = new Date(); result = sendGet(url, currenttime.getTime() + ""); System.out.println(result); String[] result2 = result.split("="); System.out.println(result2[1]); System.out.println(); try { File file = new File("goldprice.txt"); // If file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); // true = append file FileWriter fileWritter = new FileWriter(file.getName(), true); BufferedWriter bufferWritter = new BufferedWriter(fileWritter); bufferWritter.write(currenttime + result2[2].replace("|", "/t")); bufferWritter.newLine(); bufferWritter.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); }
将上面的代码保存为.java格式。 在command窗口下,运行:javac GetResponse.java, 生成.class文件。
建一个新的文件,将以下内容拷贝保存到文件中,并以.bat为后缀。执行该bat文件后, 执行的状态将会保存到main.log文件中。
java GetResponse main.log
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17005.html
cgojavawindows相关文章
- java语言的特点_Java语言有什么特点?
- java多线程并发之旅-14-lock free queue 无锁队列[通俗易懂]
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java oracle数据备份_Java实现Oracle数据库备份
- 【说站】高级Java开发人员常去的网站
- Java数组循环_java遍历object数组
- java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]
- Java—java.util.calendar类详解「建议收藏」
- Java同学录系统同学录网站
- Java家教系统家教网站家教兼职系统
- Java NIO、BIO、 AIO 与 同步、阻塞、非阻塞、异步IO 简析
- Java和Golang有什么不同之处?
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- Java学习笔记之四java进制转化详解编程语言
- Java学习笔记之一java关键字及作用详解编程语言
- Java编程中如何提高性能详解编程语言
- Java枚举(Enum)类型的研究与应用详解编程语言
- Java网站在Linux上的运行(java网站linux)
- 处理使用Java的Redis进行高效的过期处理(redisjava过期)
- 数据清理解决Redis中Java过期数据的清理问题(redisjava过期)
- Java与MySQL事务处理(mysql中java事物)
- Java技术将数据写入Oracle数据库(java写入oracle)
- Java线程中sleep和wait的区别详细介绍