📄 socketget.java
字号:
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
/**
* 通过Socket读取返回的数据。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class SocketGet {
public static void main(String[] args) {
try {
// 创建连接
//InetAddress addr = InetAddress.getByName("smtp.163.com");
InetAddress addr = InetAddress.getByName("www.baidu.com");
System.out.println(addr);
int port = 80;
Socket socket = new Socket(addr, port);
// 如果超过这个时间没有新的数据,则不再继续等待数据
//socket.setSoTimeout(1000);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"));
wr.write("GET /test.jsp HTTP/1.1\r\n");
wr.write("Host: <a target='_blank' href='www.baidu.com'>www.java2000.net</a>\r\n");
wr.write("\r\n");
wr.flush();
// 创建读取数据的Reader,里面指定了需要的编码类型。
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
// 读取每一行的数据.注意大部分端口操作都需要交互数据。
String str;
while ((str = rd.readLine()) != null) {
System.out.println(str);
}
rd.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -