Java实现HTTP协议的请求
2013-03-06 11:50
369 查看
做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\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文件(也就是我们平时查看源码时看到的玩意)。浏览器会解析各个标签和样式,再把解析的结果输出的屏幕上。这就是我们看到的页面效果。
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实现的利用HTTP协议原理实现的GET/POST请求的web服务器
- java设置HTTP协议请求(实现断点续传)
- java实现:http协议get和post方法的url参数请求响应及交互
- java实现HTTP协议的请求
- C# 实现http协议GET、POST请求
- java http get post请求 https请求实现
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- HTTP POST请求报文格式分析与Java实现文件上传
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- 02.HTTP协议之客户端实现(POST请求)
- Java 通过HttpClient 带证书方式请求Https协议网站 (Post方式带xml文档,Get以及Delete方式)
- java 发送http协议的POST请求获取数据
- tomcat实现http协议中的请求方法
- 【JAVAWEB】--HTTP协议GET和POST请求
- 【转】C# 实现http协议GET、POST请求
- HTTP POST请求报文格式分析与Java实现文件上传
- Android模拟 HTTP multipart/form-data 请求协议信息实现图片上传
- [Java学习] java实现http的Post、Get、代理访问请求
- java实现HTTP的post请求 key-value格式与json格式的区别
- 【转】C# 实现http协议GET、POST请求