http协议包:请求包和应答包
2015-06-12 18:07
435 查看
1 HTTP请求包
HTTP请求包(GET、POST等请求方法)由三个部分构成,分别是:方法-URI-协议/版本,请求头,请求正文。下面是一个HTTP请求包(GET)的例子:
Socket socket = new Socket("127.0.0.1", 8080);
OutputStream os = socket.getOutputStream();
InputStream ins = socket.getInputStream();
StringBuffer sb=new StringBuffer();
sb.append("POST /index.jsp HTTP/1.1\r\n");//注意\r\n为回车换行
sb.append("Accept-Language: zh-cn\r\n");
sb.append("Connection: Keep-Alive\r\n");
sb.append("Host: 192.168.0.106\r\n");
sb.append("Content-Length: 37\r\n");
sb.append("\r\n");
sb.append("userName=new_andy&password=new_andy\r\n");
sb.append("\r\n");
//向Web服务器发送一个HTTP请求包
os.write(sb.toString().getBytes());
os.close();
2 HTTP应答包
和HTTP请求包相似,由三个部分构成,分别是:协议-状态代码-描述,应答头,应答正文。下面是一个HTTP应答的例子:
StringBuffer buffer = new StringBuffer();
buffer.append("HTTP/1.1 200 OK\r\n");
buffer.append("Date: Tue, 14 Sep 1999 02:19:57 GMT\r\n");
buffer.append("Server: Apache/1.2.6\r\n");
buffer.append("Connection: close\r\n");
buffer.append("Content-Type: text/html\r\n");
buffer.append("\r\n");
buffer.append("<html><head><title>解读HTTP包示例</title></head><body>test</body></html>\r\n");
//bout.write(buffer.toString().getBytes());
//向Web服务器发送一个HTTP请求包
try {
this.output.write(buffer.toString().getBytes());
this.output.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
1 HTTP请求包
HTTP请求包(GET、POST等请求方法)由三个部分构成,分别是:方法-URI-协议/版本,请求头,请求正文。下面是一个HTTP请求包(GET)的例子:
Socket socket = new Socket("127.0.0.1", 8080);
OutputStream os = socket.getOutputStream();
InputStream ins = socket.getInputStream();
StringBuffer sb=new StringBuffer();
sb.append("POST /index.jsp HTTP/1.1\r\n");//注意\r\n为回车换行
sb.append("Accept-Language: zh-cn\r\n");
sb.append("Connection: Keep-Alive\r\n");
sb.append("Host: 192.168.0.106\r\n");
sb.append("Content-Length: 37\r\n");
sb.append("\r\n");
sb.append("userName=new_andy&password=new_andy\r\n");
sb.append("\r\n");
//向Web服务器发送一个HTTP请求包
os.write(sb.toString().getBytes());
os.close();
2 HTTP应答包
和HTTP请求包相似,由三个部分构成,分别是:协议-状态代码-描述,应答头,应答正文。下面是一个HTTP应答的例子:
StringBuffer buffer = new StringBuffer();
buffer.append("HTTP/1.1 200 OK\r\n");
buffer.append("Date: Tue, 14 Sep 1999 02:19:57 GMT\r\n");
buffer.append("Server: Apache/1.2.6\r\n");
buffer.append("Connection: close\r\n");
buffer.append("Content-Type: text/html\r\n");
buffer.append("\r\n");
buffer.append("<html><head><title>解读HTTP包示例</title></head><body>test</body></html>\r\n");
//bout.write(buffer.toString().getBytes());
//向Web服务器发送一个HTTP请求包
try {
this.output.write(buffer.toString().getBytes());
this.output.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
相关文章推荐
- HTTP请求、响应报文格式
- http协议-响应和请求
- ajax再研究
- 道路修建 (网络流)
- 网络流24题 -No.16 数字梯形问题
- HttpURLConnection(四)-多线程下载
- HttpURLConnection(三)
- Android_TCP/IP开发——聊天室模型(客户端与服务器进行通信)
- HTTP服务
- TCP 网络编程
- HTTP之Range理解
- 网络协议之FTP协议
- TCP连接
- 在Android应用中使用自定义证书的HTTPS连接(下)
- 基于QTcpSocket和QTcpServer的Tcp通讯以及QDataStream序列化数据
- 手动设置Xen Host网络
- HTTPS原理
- HttpModule的认识与深入理解及MVC运行机制
- 简约之美Jodd-http--应用一箩筐
- XUtils源码分析之HttpUtils(一)