我想使用java来获取网站的来源(安全),然后解析该网站中的链接.我已经找到了如何连接到该URL,但是我怎样才能轻松获得源代码,更喜欢DOM Document oso,我可以轻松获得我想要的信息.
或者是否有更好的方式连接到https站点,获取源(我需要做的是获取数据表...非常简单)然后这些链接是我要下载的文件.
我希望它是FTP,但这些文件存储在我的tivo上(我想以编程方式将它们下载到我的电脑上(
您可以获得低级别,只需使用套接字请求它.在java中它看起来像
// Arg[0] = Hostname // Arg[1] = File like index.html public static void main(String[] args) throws Exception { SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault(); SSLSocket sslsock = (SSLSocket) factory.createSocket(args[0], 443); SSLSession session = sslsock.getSession(); X509Certificate cert; try { cert = (X509Certificate) session.getPeerCertificates()[0]; } catch (SSLPeerUnverifiedException e) { System.err.println(session.getPeerHost() + " did not present a valid cert."); return; } // Now use the secure socket just like a regular socket to read pages. PrintWriter out = new PrintWriter(sslsock.getOutputStream()); out.write("GET " + args[1] + " HTTP/1.0\r\n\r\n"); out.flush(); BufferedReader in = new BufferedReader(new InputStreamReader(sslsock.getInputStream())); String line; String regExp = ".*.*"; Pattern p = Pattern.compile( regExp, Pattern.CASE_INSENSITIVE ); while ((line = in.readLine()) != null) { // Using Oscar's RegEx. Matcher m = p.matcher( line ); if( m.matches() ) { System.out.println( m.group(1) ); } } sslsock.close(); }
非常相似的问题:
如何使用Java从网站检索URL?
你如何以编程方式下载Java网页
一个很好的库,用于在Java中进行URL操作