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中,进行网络通信主要通过`java.net`包提供的类,如`URL`、`URLConnection`和`Socket`等。`URL`(统一资源定位符)对象表示网络资源的位置,而`URLConnection`则是连接这些资源的桥梁。 2. **创建URL对象**...
例如,MyIEByGUI系列可能是实现简单的浏览器功能,通过Socket连接到服务器获取网页内容。 8. **学习建议**: 学习Socket编程,不仅需要理解基本概念,还要动手实践,通过编写客户端和服务器端程序,理解数据的收发...
4. 通过getInputStream()方法获取网页内容的输入流,一般会转化为字符流(如BufferedReader),然后读取网页HTML代码。 5. 解析HTML内容,提取所需信息,这通常需要用到正则表达式或第三方库如Jsoup。 6. 如果网页中...
Java提供了`java.net`包,其中包含`Socket`、`URL`、`URLConnection`等类,用于处理网络连接和数据传输。例如,`URL`类可以帮助我们解析和访问互联网资源,而`URLConnection`则可以用来建立与服务器的连接并读取响应...
Java提供了丰富的API来处理网络编程任务,如Socket编程、ServerSocket编程、URL和URLConnection类等。这些API使得开发者能够创建基于TCP/IP或UDP/IP的网络应用。 在Java中,`java.net`包提供了基础的网络通信功能,...
通过`openConnection()`方法建立连接,然后调用`openStream()`获取网页内容的输入流,使用Scanner按行读取并打印出来。`getContentLength()`方法用于获取网页内容的大小,这在处理大量数据时非常有用,可以用来监控...
文件名为"mybaidu"可能是一个示例程序或案例,它可能演示了如何使用Java连接百度搜索引擎进行HTTP请求,获取网页内容。这涉及到URL和URLConnection类的使用,以及HTTP协议的GET和POST方法。 总的来说,Java网络编程...
1.6.1发送get请求获取网页内容 HttpClient client = new HttpClient(); //设置代理服务器地址和端口 //client.getHostConfiguration().setProxy("proxy_host_addr",proxy_port); //使用GET方法,如果服务器...
例如,使用`java.net.URL`和`java.net.URLConnection`可以实现HTTP协议的GET请求,获取网页内容。 7. **InetAddress类**:`InetAddress`是Java提供的用于处理IP地址的类,可以获取IP地址对应的主机名,或者根据主机...
例如,可以通过HttpURLConnection发送HTTP请求并获取响应,实现网页抓取或者API调用。 总的来说,Java网络编程TCP/IP是开发者必须掌握的基础技能之一,它涵盖了网络连接的建立、数据交换、协议处理等多个方面。理解...
这两个类可以用于获取网页内容、下载文件等操作。 3. **多线程在网络编程中的应用**:因为网络通信往往涉及到异步操作,所以多线程是必不可少的。服务器端通常需要为每个客户端创建一个新线程来处理请求,以实现...
4. **网络编程**:Socket和ServerSocket类提供了TCP/IP网络通信的基础,而URL和URLConnection类则用于HTTP和其他网络协议的访问。 5. **反射(Reflection)**:Java反射机制允许运行时动态地获取类的信息(如类名、...
### Java的网络编程知识点 ...综上所述,这些知识点覆盖了Java网络编程的基础,包括使用URL类获取网络资源、基于TCP协议的Socket通信以及基于UDP协议的数据报传输。这些技术是构建复杂的网络应用和服务的重要基石。
这对于获取网页数据、下载文件等任务非常有用。 7. **HTTP协议**:Java的HttpURLConnection类允许开发人员实现HTTP客户端,可以发送GET、POST等HTTP请求,并处理响应。 8. **NIO(Non-blocking I/O)**:Java NIO...
1. 客户端(Socket):创建Socket对象,指定服务器地址和端口号,通过Socket对象的getOutputStream()和getInputStream()方法获取输出流和输入流,进行数据发送和接收。 2. 服务器端(ServerSocket):创建...
例如,使用FTPClient类可以从FTP服务器下载文件,而HttpClient则可以处理HTTP请求,如GET、POST等,以获取网页内容或执行其他HTTP操作。 总的来说,Java程序开发中的网络通信涵盖了从基本的TCP/IP协议理解到高级的...
通过URL,你可以获取网页、文件或其他网络资源。URLConnection类则允许你打开到URL的连接,实现数据的上传和下载。这一部分将涵盖HTTP、HTTPS等常见协议的使用,以及处理HTTP响应和请求头的方法。 网络编程中的并发...
6. **HTTP协议**:Java的HttpURLConnection类支持HTTP/HTTPS协议,可以用来发送GET、POST等请求,获取网页内容或提交表单数据。 7. **TCP与UDP**:TCP(传输控制协议)提供的是面向连接的、可靠的、基于字节流的...
这些类可以用来获取网页内容,上传或下载文件,以及执行POST请求等。 通过学习和实践"Java网络应用编程入门代码"中的例子,开发者可以逐步掌握如何建立网络连接,发送和接收数据,以及处理网络通信中的各种情况。...
7. **URL连接**:Java的URL类和URLConnection类提供了访问网络资源的能力,可以用来读取网页内容、下载文件等。 8. **网络安全**:在实际应用中,还需要考虑网络安全问题,比如数据加密(SSL/TLS)、身份验证等。 ...