`
java2000.net
  • 浏览: 660441 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

JAVA代码:通过Socket执行HTTP的POST方法

阅读更多
  1. package net.java2000.net;
  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStreamWriter;
  6. import java.net.InetAddress;
  7. import java.net.Socket;
  8. import java.net.URLEncoder;
  9. /**
  10.  * 使用 Socket 模拟HTTP的POST提交。
  11.  * 
  12.  * @author 赵学庆,Java世纪网(java2000.net)
  13.  * 
  14.  */
  15. public class SocketHttpPost {
  16.   public static void main(String[] args) {
  17.     try {
  18.       // 提交的数据
  19.       String data = URLEncoder.encode("name""UTF-8") + "="
  20.           + URLEncoder.encode("老紫竹""UTF-8");
  21.       data += "&" + URLEncoder.encode("message""UTF-8") + "="
  22.           + URLEncoder.encode("欢迎光临JAVA世纪网""UTF-8");
  23.       // 建立连接
  24.       String hostname = "www.java2000.net";
  25.       int port = 80;
  26.       InetAddress addr = InetAddress.getByName(hostname);
  27.       Socket socket = new Socket(addr, port);
  28.       // 发送数据头
  29.       String path = "/test.jsp";
  30.       BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),
  31.           "UTF8"));
  32.       wr.write("POST " + path + " HTTP/1.0\r\n");
  33.       wr.write("Host: <a target="_blank" href="www.java2000.net">www.java2000.net</a>\n");
  34.       wr.write("Content-Length: " + data.length() + "\r\n");
  35.       wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
  36.       wr.write("\r\n"); // 以空行作为分割
  37.       // 发送数据
  38.       wr.write(data);
  39.       wr.flush();
  40.       // 读取返回信息
  41.       BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),
  42.           "UTF-8"));
  43.       String line;
  44.       while ((line = rd.readLine()) != null) {
  45.         System.out.println(line);
  46.       }
  47.       wr.close();
  48.       rd.close();
  49.     } catch (Exception e) {
  50.     }
  51.   }
  52. }
 
运行结果
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世纪网
<!-- 提交来的数据结束-->















<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
分享到:
评论

相关推荐

    JAVA使用Socket编写HTTP服务器

    在Java编程语言中,使用Socket实现一个简单的HTTP服务器是一项基础但重要的技能。HTTP服务器是互联网上用于接收HTTP请求并返回响应的程序。本教程将详细解释如何通过Socket类来构建这样的服务器,同时会涉及到相关的...

    http和WebService 调用接口Java代码demo

    综上所述,"http和WebService 调用接口Java代码demo"这个主题涵盖了Java通过HTTP进行接口调用的基本方法,以及Web Service的使用,特别是结合Spring Boot的场景。在实际项目中,理解并熟练运用这些技术能够帮助我们...

    java源码:Java HTTP服务器 TJWS.zip

    1. **Socket编程**:Java的`java.net.Socket`类和`java.net.ServerSocket`类是进行网络通信的基础。ServerSocket用于监听特定端口上的连接请求,而Socket则代表了客户端和服务器之间的连接。 2. **HTTP协议**:HTTP...

    android 网络编程 客户端完整代码 socket http

    本文将深入探讨Android中基于Socket和HTTP的网络编程,包括它们的概念、实现方式以及如何构建一个完整的客户端代码。 1. Socket(套接字)网络编程: Socket是网络通信的基础,它提供了进程间通信的能力,使得运行...

    基于Socket的http监听

    在Java中,`java.net.Socket`和`java.net.ServerSocket`类用于创建客户端和服务器端的Socket连接。 2. **HTTP协议解析**:HTTP监听服务需要理解HTTP协议的请求和响应格式。这涉及到解析请求头、方法(GET、POST等)...

    java_pda_http_socket.rar_java PDA_java pda sock_java连接pda_服务器 数据

    在这个场景中,我们关注的是两种常见的通信方式:HTTP和Socket。这两种方法都是Java中实现客户端-服务器交互的重要手段。 1. **HTTP连接**: HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,用于从...

    java源码:Java开发的简单WEB服务器源码.rar

    - 一个简单的Java Web服务器通常会解析HTTP请求,根据请求的方法执行相应的操作(如读取静态资源或处理动态请求)。 - 服务器需要解析请求行,获取URL,然后根据路径找到对应的资源并返回响应。 4. **多线程处理*...

    java源码:浏览器BrowserTest.zip

    这涉及到Java的Socket编程或HttpURLConnection类。理解如何使用这些工具发起GET和POST请求,处理响应数据,以及处理cookies和session,对于理解BrowserTest的网络通信至关重要。 3. **HTML和CSS解析**:浏览器需要...

    Java简单浏览器源代码

    Java简单浏览器源代码是基于Java Swing库和Socket编程技术实现的一款基础浏览应用,它为开发者提供了一个学习和理解网络浏览器工作原理的实例。这个项目主要包含以下几个关键知识点: 1. **Java Swing**: Java ...

    JAVA利用HttpClient进行HTTPS接口调用

    在Java中,我们通常通过JSSE(Java Secure Socket Extension)来支持SSL/TLS连接。 在`SSLClient.java`文件中,我们可能会看到配置SSL上下文(SSLContext)的过程。这是设置信任的证书和密钥存储的地方。代码可能...

    网络编程实验:HTTP服务器 java实现

    4. 解析HTTP请求,根据请求方法(GET、POST等)执行相应的操作,如读取静态文件或执行动态逻辑。 5. 构建HTTP响应,包括状态码(如200表示成功,404表示未找到),响应头(如Content-Type)和响应体(如HTML页面内容...

    Java开发工具代码库

    Java开发工具代码库是Java程序员日常工作中不可或缺的资源集合,它包含了各种常用的功能模块和工具类,旨在提高开发效率,减少重复劳动。这个代码库通常会涵盖字符串处理、日期时间操作、集合操作、IO流、网络通信、...

    用java实现的http服务器端例程java

    5. 解析请求,获取HTTP方法(GET、POST等)、URL、HTTP版本和头部信息。 6. 根据请求执行相应的操作,如读取文件、执行业务逻辑等。 7. 创建一个OutputStream,向客户端的Socket发送HTTP响应。 8. 响应应包含HTTP...

    Java中用Socket实现HTTP文件上传实例

    本篇文章将详细介绍如何通过Java Socket来实现这个功能。 首先,了解HTTP POST的附件上传协议是至关重要的。HTTP附件上传遵循RFC1867协议,它扩展了HTML表单提交,允许用户通过`&lt;input type="file"&gt;`选择本地文件...

    js调用java类的方法

    // 在这里执行Java方法 return "Java方法返回结果"; } } ``` 在JavaScript中,使用Ajax来调用Servlet: ```javascript // JavaScript 示例 var xhr = new XMLHttpRequest(); xhr.open('POST', '/path/to/...

    java代码的浏览器源码整理

    Java代码的浏览器源码整理是一项深入理解Web浏览技术与Java编程结合的重要学习资源。这个压缩包文件包含了关于如何下载和使用这些源码的说明,以及一个可能包含解压密码的URL链接,暗示了源码可能受到保护以防止未经...

    java编写的浏览器和服务器

    3. HTTP解析:接收客户端的HTTP请求,解析请求头和请求体,识别HTTP方法(如GET、POST)和资源路径。 4. 响应生成:根据请求处理逻辑,生成HTTP响应,包括状态码、响应头和响应体。 5. 数据发送:通过`Socket`的输出...

    sockettest

    - `SocketTest.jar`:程序的主要Java归档文件,包含了SocketTest的源代码和运行时需要的所有类。 - `SocketTest.sh`:Unix/Linux系统的脚本文件,用于启动SocketTest,可能是用Bash shell编写的。 5. **使用场景*...

    android 网络编程详解代码第7章(android的Socket编程)

    2. 通过`serverSocket.accept()`方法监听并接受来自客户端的连接请求,这将返回一个新的Socket对象。 3. 同样,获取并使用这个新Socket的输入流和输出流进行通信。 4. 当不再需要连接时,关闭ServerSocket以及与之...

    https发送post请求

    执行POST请求,获取响应实体并读取其内容。 9. **关闭资源**: ```java httpClient.getConnectionManager().shutdown(); ``` 关闭HTTP客户端的所有连接,释放资源。 #### 五、注意事项 - **安全性问题**:绕...

Global site tag (gtag.js) - Google Analytics