Socket get http request

 1 package wuyubao.firstsample;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStreamReader;
 6 import java.io.PrintWriter;
 7 import java.net.Socket;
 8 import java.net.UnknownHostException;
 9 
10 
11 public class FirstProc {
12 
13     public static void main(String[] args) {
14         // TODO Auto-generated method stub
15             System.out.println("Hello world!!!");
16             
17             try {
18                 Socket socket=new Socket("baidu.com",80);
19                 boolean autoflush=true;
20                 PrintWriter out=new PrintWriter(socket.getOutputStream(),autoflush);
21                 BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
22                 
23                 out.println("GET /index.html HTTP/1.1");
24                 out.println("Host:baidu.com:80");
25                 out.println("Connection:Close");
26                 out.println();
27                 
28                 boolean loop=true;
29                 StringBuffer sb=new StringBuffer(8046);
30                 
31                 while(loop){
32                     if(in.ready()){
33                         int i=0;
34                         while(i!=-1){
35                             i=in.read();
36                             sb.append((char)i);
37                             
38                         }
39                         loop=false;
40                         
41                     }
42                     Thread.currentThread().sleep(50);
43                     
44                 }
45                 System.out.println(sb.toString());
46                 socket.close();
47             } catch (UnknownHostException e) {
48                 // TODO Auto-generated catch block
49                 e.printStackTrace();
50             } catch (IOException e) {
51                 // TODO Auto-generated catch block
52                 e.printStackTrace();
53             } catch (InterruptedException e) {
54                 // TODO Auto-generated catch block
55                 e.printStackTrace();
56             }
57     }
58 
59 }

 

转载于:https://www.cnblogs.com/593213556wuyubao/p/3783178.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Socket是一种用于实现网络通信的API,HTTP是一种基于TCP协议的应用层协议,因此可以使用Socket实现HTTP通信。 在使用Socket实现HTTP通信时,通常需要遵循以下流程: 1. 创建Socket对象:通过Socket类的构造函数创建一个Socket对象,指定服务器的IP地址和端口号。 2. 发送HTTP请求:使用Socket对象的OutputStream向服务器发送HTTP请求,包括请求头和请求体。 3. 接收HTTP响应:使用Socket对象的InputStream从服务器接收HTTP响应,包括响应头和响应体。 4. 解析HTTP响应:对接收到的响应进行解析,提取需要的信息。 5. 关闭Socket连接:使用Socket对象的close方法关闭连接。 下面是一个使用Socket实现HTTP请求的示例代码: ```java import java.io.*; import java.net.*; public class HttpSocketDemo { public static void main(String[] args) throws Exception { // 创建Socket对象并连接到服务器 Socket socket = new Socket("www.example.com", 80); // 构造HTTP请求 String request = "GET / HTTP/1.1\r\n" + "Host: www.example.com\r\n" + "Connection: close\r\n\r\n"; // 发送HTTP请求 OutputStream out = socket.getOutputStream(); out.write(request.getBytes()); out.flush(); // 接收HTTP响应 InputStream in = socket.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 关闭Socket连接 socket.close(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值