当前位置:编程学习 > JAVA >>

java实现HTTP协议的请求

做web开发有一段时间了,但对于HTTP协议却没有深入的理解学习过。做了一小小的测试终于彻底明白了HTTP协议。自己的服务器上已经安装了Apache服务并且已经启动。Apache服务监听在80端口。
 
 
[java]  
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\r\n");  
        sb.append("Host:localhost\r\n");  
        sb.append("Accept-Language:zh-cn\r\n");  
        //sb.append("Connection:Keep-Alive\r\n");  
        //请求头结束  
        sb.append("\r\n");  
        //将请示数据发送给服务器  
        out.write(sb.toString());  
        out.flush();  
        BufferedReader buf = new BufferedReader(  
        new InputStreamReader(socket.getInputStream()));  
        String str="";  
        //读取服务器返回的数据  
        while((str=buf.readLine())!="\r\n" && str!=null){  
            System.out.println(str);  
        }  
        buf.close();  
        socket.close();  
    }  
}  
 
返回的内容是一html文件(也就是我们平时查看源码时看到的玩意)。浏览器会解析各个标签和样式,再把解析的结果输出的屏幕上。这就是我们看到的页面效果。
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,