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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
  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" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/jgfyyfd/article/details/84195270