java通过Socket执行HTTP的POST方法
来源:互联网 发布:网络参与赌博如何量刑 编辑:程序博客网 时间:2024/05/18 02:52
- package net.java2000.net;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.net.InetAddress;
- import java.net.Socket;
- import java.net.URLEncoder;
- /**
- * 使用 Socket 模拟HTTP的POST提交。
- *
- * @author 赵学庆,Java世纪网(java2000.net)
- *
- */
- public class SocketHttpPost {
- public static void main(String[] args) {
- try {
- // 提交的数据
- String data = URLEncoder.encode("name", "UTF-8") + "="
- + URLEncoder.encode("老紫竹", "UTF-8");
- data += "&" + URLEncoder.encode("message", "UTF-8") + "="
- + URLEncoder.encode("欢迎光临JAVA世纪网", "UTF-8");
- // 建立连接
- String hostname = "www.java2000.net";
- int port = 80;
- InetAddress addr = InetAddress.getByName(hostname);
- Socket socket = new Socket(addr, port);
- // 发送数据头
- String path = "/test.jsp";
- BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),
- "UTF8"));
- wr.write("POST " + path + " HTTP/1.0\r\n");
wr.write("Host: "+host+"\r\n");
wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
wr.write("Content-Length: " + data.length() + "\r\n");
wr.write("\r\n"); // 以空行作为分割 - // 发送数据
- wr.write(data);
- wr.flush();
- // 读取返回信息
- BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),
- "UTF-8"));
- String line;
- while ((line = rd.readLine()) != null) {
- System.out.println(line);
- }
- wr.close();
- rd.close();
- } catch (Exception e) {
- }
- }
- }
运行结果
HTTP/1.1 200 OK
Date: Sun, 31 Aug 2008 00:39:46 GMT
Server: Apache/2.2.4 (Win32) mod_jk/1.2.26
Vary: Host,Accept-Encoding
Set-Cookie: JSESSIONID=2F417D101EEF54608D7115A109C4FC3C; Path=/
Content-Length: 333
Connection: close
Content-Type: text/html;charset=UTF-8
<!-- 测试页内容开始 -->
这里是JAVA世纪网,java2000.net。老紫竹欢迎你的光临。
本站以提供高质量的,验证过的JAVA代码,资料和项目为目标。
<!-- 测试页内容结束 -->
<!-- 提交来的数据开始-->
你好:老紫竹
欢迎光临JAVA世纪网
<!-- 提交来的数据结束-->
- JAVA代码:通过Socket执行HTTP的POST方法
- java通过Socket执行HTTP的POST方法
- JAVA代码:通过Socket执行HTTP的GET方法
- Java socket HTTP(POST/GET)
- C#通过WebClient/HttpWebRequest实现http的post/get方法与java对接
- C#通过WebClient/HttpWebRequest实现http的post/get方法与java对接
- 将文件通过http的post方法上传到服务器
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- http的post方法
- JAVA通过HTTP访问:Post+Get方式
- JAVA通过HTTP访问:Post+Get方式
- java通过HTTP访问:POST+GET
- Java通过http post交互数据
- python通过get,post方式发送http请求和接收http响应的方法
- python通过get,post方式发送http请求和接收http响应的方法
- QThread使用整理2-信号和槽
- 什么是dhcp?
- windows下GTK+的安装与环境配置
- 程序员技术练级攻略 – 学习编程的步骤 | 编程学习经验
- ORACLE如何查看表空间路径及用户权限
- java通过Socket执行HTTP的POST方法
- 创新思维案列分析——苹果公司
- IOS GetViewController
- 关于自己2012年的那些事
- Spring mvc的文件上传
- 广度优先搜索算法
- hdu 1047 Integer Inquiry
- SPWorkflow 系列:工作流表单 Infopath 2010 与SPWF 数据传递
- 分离路径