`
lvwenwen
  • 浏览: 958629 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

Socket/UrlConnection获取网页

阅读更多
package com.itcast.socket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URL;

/**
 * 
 * @author Dao
 */
public class TestSocket {

	public TestSocket() {
	}

	public static void main(String args[]) {
		// 你想获取代码的网站
		String strServer = "www.sina.com";
		// 起始页面,/为根页
		String strPage = "/";

		try {
			// 设置端口,通常http端口不就是80罗,你在地址栏上没输就是这个值
			int port = 80;
			// 用域名反向获得IP地址
			InetAddress addr = InetAddress.getByName(strServer);

			// 建立一个Socket
			Socket socket = new Socket(addr, port);

			// 发送命令,无非就是在Socket发送流的基础上加多一些握手信息,详情请了解HTTP协议
			BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(
					socket.getOutputStream(), "UTF-8"));
			wr.write("GET " + strPage + " HTTP/1.0\r\n");
			wr.write("HOST:" + strServer + "\r\n");
			wr.write("Accept:*/*\r\n");
			wr.write("\r\n");
			wr.flush();

			// 接收Socket返回的结果,并打印出来
			BufferedReader rd = new BufferedReader(new InputStreamReader(
					socket.getInputStream()));
			String line;
			while ((line = rd.readLine()) != null) {
				System.out.println(line);
			}
			// wr.close();
			rd.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
package com.itcast.socket.Second;
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.net.HttpURLConnection;  
import java.net.URL;  
import java.net.URLConnection;  
  
public class URLTest {  
  
    public static void main(String[] args) {  
        URL url;  
        URLConnection urlconn;  
        try {  
            url = new URL("http://www.google.com.hk");  
            urlconn = url.openConnection();  
            HttpURLConnection httpConnection = (HttpURLConnection) urlconn;  
            httpConnection.setConnectTimeout(1000000);  
            httpConnection.setReadTimeout(1000000);  
//          httpConnection.setRequestProperty("User-Agent", "new");  
//          httpConnection.setRequestMethod("POST");  
            InputStream in = httpConnection.getInputStream();  
            BufferedReader br = new BufferedReader(new InputStreamReader(in, "Big5"));  
  
            String line = "";  
            while((line = br.readLine()) != null) {  
                System.out.println(line);  
            }  
            br.close();  
            in.close();  
        } catch(IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  
 

 

分享到:
评论

相关推荐

    Java源代码根据URL获取因特网网页源文件.rar

    在Java中,进行网络通信主要通过`java.net`包提供的类,如`URL`、`URLConnection`和`Socket`等。`URL`(统一资源定位符)对象表示网络资源的位置,而`URLConnection`则是连接这些资源的桥梁。 2. **创建URL对象**...

    Socket基础知识笔记

    例如,MyIEByGUI系列可能是实现简单的浏览器功能,通过Socket连接到服务器获取网页内容。 8. **学习建议**: 学习Socket编程,不仅需要理解基本概念,还要动手实践,通过编写客户端和服务器端程序,理解数据的收发...

    Java Socket聊天室与Java URL爬虫源码.zip

    4. 通过getInputStream()方法获取网页内容的输入流,一般会转化为字符流(如BufferedReader),然后读取网页HTML代码。 5. 解析HTML内容,提取所需信息,这通常需要用到正则表达式或第三方库如Jsoup。 6. 如果网页中...

    java-swing-通过ip获取网站信息(网页抓取)

    Java提供了`java.net`包,其中包含`Socket`、`URL`、`URLConnection`等类,用于处理网络连接和数据传输。例如,`URL`类可以帮助我们解析和访问互联网资源,而`URLConnection`则可以用来建立与服务器的连接并读取响应...

    JungleSpeed:Java网络编程

    Java提供了丰富的API来处理网络编程任务,如Socket编程、ServerSocket编程、URL和URLConnection类等。这些API使得开发者能够创建基于TCP/IP或UDP/IP的网络应用。 在Java中,`java.net`包提供了基础的网络通信功能,...

    实验八java网络编程基础.pdf

    通过`openConnection()`方法建立连接,然后调用`openStream()`获取网页内容的输入流,使用Scanner按行读取并打印出来。`getContentLength()`方法用于获取网页内容的大小,这在处理大量数据时非常有用,可以用来监控...

    java网络编程

    文件名为"mybaidu"可能是一个示例程序或案例,它可能演示了如何使用Java连接百度搜索引擎进行HTTP请求,获取网页内容。这涉及到URL和URLConnection类的使用,以及HTTP协议的GET和POST方法。 总的来说,Java网络编程...

    HttpClient以及获取页面内容应用

    1.6.1发送get请求获取网页内容 HttpClient client = new HttpClient(); //设置代理服务器地址和端口 //client.getHostConfiguration().setProxy("proxy_host_addr",proxy_port); //使用GET方法,如果服务器...

    Java程序开发教学课件:13网络通信.pptx

    例如,使用`java.net.URL`和`java.net.URLConnection`可以实现HTTP协议的GET请求,获取网页内容。 7. **InetAddress类**:`InetAddress`是Java提供的用于处理IP地址的类,可以获取IP地址对应的主机名,或者根据主机...

    java 网络编程tcp/ip

    例如,可以通过HttpURLConnection发送HTTP请求并获取响应,实现网页抓取或者API调用。 总的来说,Java网络编程TCP/IP是开发者必须掌握的基础技能之一,它涵盖了网络连接的建立、数据交换、协议处理等多个方面。理解...

    java网络编程资源

    这两个类可以用于获取网页内容、下载文件等操作。 3. **多线程在网络编程中的应用**:因为网络通信往往涉及到异步操作,所以多线程是必不可少的。服务器端通常需要为每个客户端创建一个新线程来处理请求,以实现...

    javaAPI 中文网页版2

    4. **网络编程**:Socket和ServerSocket类提供了TCP/IP网络通信的基础,而URL和URLConnection类则用于HTTP和其他网络协议的访问。 5. **反射(Reflection)**:Java反射机制允许运行时动态地获取类的信息(如类名、...

    java的网络编程

    ### Java的网络编程知识点 ...综上所述,这些知识点覆盖了Java网络编程的基础,包括使用URL类获取网络资源、基于TCP协议的Socket通信以及基于UDP协议的数据报传输。这些技术是构建复杂的网络应用和服务的重要基石。

    中山大学研究生学院java讲义之(网络通信)

    这对于获取网页数据、下载文件等任务非常有用。 7. **HTTP协议**:Java的HttpURLConnection类允许开发人员实现HTTP客户端,可以发送GET、POST等HTTP请求,并处理响应。 8. **NIO(Non-blocking I/O)**:Java NIO...

    \"java 网络编程\"简单总结

    1. 客户端(Socket):创建Socket对象,指定服务器地址和端口号,通过Socket对象的getOutputStream()和getInputStream()方法获取输出流和输入流,进行数据发送和接收。 2. 服务器端(ServerSocket):创建...

    Java程序开发教学课件:13-网络通信.ppt

    例如,使用FTPClient类可以从FTP服务器下载文件,而HttpClient则可以处理HTTP请求,如GET、POST等,以获取网页内容或执行其他HTTP操作。 总的来说,Java程序开发中的网络通信涵盖了从基本的TCP/IP协议理解到高级的...

    Java开发实战从入门到精通视频教程下载第19章 Java网络编程.zip

    通过URL,你可以获取网页、文件或其他网络资源。URLConnection类则允许你打开到URL的连接,实现数据的上传和下载。这一部分将涵盖HTTP、HTTPS等常见协议的使用,以及处理HTTP响应和请求头的方法。 网络编程中的并发...

    java网络编程ppt资料

    6. **HTTP协议**:Java的HttpURLConnection类支持HTTP/HTTPS协议,可以用来发送GET、POST等请求,获取网页内容或提交表单数据。 7. **TCP与UDP**:TCP(传输控制协议)提供的是面向连接的、可靠的、基于字节流的...

    网络编程的例子,好啊

    这些类可以用来获取网页内容,上传或下载文件,以及执行POST请求等。 通过学习和实践"Java网络应用编程入门代码"中的例子,开发者可以逐步掌握如何建立网络连接,发送和接收数据,以及处理网络通信中的各种情况。...

    实验八 Java网络编程.7z

    7. **URL连接**:Java的URL类和URLConnection类提供了访问网络资源的能力,可以用来读取网页内容、下载文件等。 8. **网络安全**:在实际应用中,还需要考虑网络安全问题,比如数据加密(SSL/TLS)、身份验证等。 ...

Global site tag (gtag.js) - Google Analytics