使用Socket抓取网页源代码
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; public class HttpDemo { /** * 使用Socket抓取网页源码 */ public static void main(String[] args) throws IOException { //想要抓取的网页主机名 //域名www.baidu.com,旗下有好多主机,例如tieba.baidu.com,map.baidu.com String host = "map.baidu.com"; //根据主机名获取ip地址 InetAddress ip = InetAddress.getByName(host); //建立连接 Socket s = new Socket(ip,80); //向服务器端写入http协议请求 PrintWriter pw = new PrintWriter(s.getOutputStream()); // "/"请求根页面 pw.println("GET / HTTP/1.1"); pw.println("Host: "+host); pw.println("Content-Type: text/html"); pw.println(); pw.flush(); //将获取到的页面输出在控制台 BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); String str = ""; while((str=br.readLine())!=null){ System.out.println(str); } br.close(); pw.close(); s.close(); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。