Java实现HTTP协议的请求

Sally ·
更新时间:2024-11-10
· 632 次阅读

 做web开发有一段时间了,但对于HTTP协议却没有深入的理解学习过。做了一小小的测试终于彻底明白了HTTP协议。自己的服务器上已经安装了Apache服务并且已经启动。Apache服务监听在80端口。

 

import java.io.*; import java.net.*;

public class HttpRequest {  public static void main(String []args)throws Exception{   //连接到服务器   Socket socket = new Socket("127.0.0.1",80);   OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());   //HTTP请求头的内容,具体HTTP请求头百度 http协议详解会有一大堆的资料   StringBuffer sb = new StringBuffer();   sb.append("GET /mypage/button.html HTTP/1.1 ");   sb.append("Host:localhost ");   sb.append("Accept-Language:zh-cn ");   //sb.append("Connection:Keep-Alive ");   //请求头结束   sb.append(" ");   //将请示数据发送给服务器   out.write(sb.toString());   out.flush();   BufferedReader buf = new BufferedReader(   new InputStreamReader(socket.getInputStream()));   String str="";   //读取服务器返回的数据   while((str=buf.readLine())!=" " && str!=null){    System.out.println(str);   }   buf.close();   socket.close();  } }  

  返回的内容是一html文件(也是我们平时查看源码时看到的玩意)。浏览器会解析各个标签和样式,再把解析的结果输出的屏幕上。这是我们看到的页面效果。



HTTP JAVA http协议

需要 登录 后方可回复, 如果你还没有账号请 注册新账号