首页 > 代码库 > 简易JAVA_WEB服务器处理POST请求得到内容
简易JAVA_WEB服务器处理POST请求得到内容
package com.zhao.test;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.ServerSocket;import java.net.Socket;import java.net.URLDecoder;/** * * @author * */public class Sample_IIS { public static void main(String[] args) { startServer(9000); } private static void startServer(int port) { System.out.println("======>startServer"); try { ServerSocket server = new ServerSocket(port); server.setSoTimeout(0); Socket socket = null; while ((socket = server.accept()) != null) { socket.setSoTimeout(2000); byte[] buffer = new byte[2048]; InputStream is = socket.getInputStream(); int len = is.read(buffer); getContent(buffer, len); responseText(socket, "{\"cmd\":\"response\",\"inof\":\"success\"}"); socket.close(); } } catch (IOException e) { e.printStackTrace(); } System.out.println("=====>"); } /** * * @param pSocket * @param content */ private static void responseText(Socket pSocket, String content) { 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(content); try { OutputStream os = pSocket.getOutputStream(); os.write(buffer.toString().getBytes()); os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); } } /** * 得到内容 * * @param data * @param len * @return */ private static String getContent(byte[] data, int len) { String result = ""; String content = new String(data, 0, len); System.out.println("content: " + content); String[] lines = content.split("\r\n"); String firstStr = lines[0]; // 判断是POST还是GET String method = firstStr.split(" ")[0].toLowerCase(); System.out.println("method: " + method); if ("get".equals(method)) { // get } else { // post String line = lines[lines.length - 1]; int index = line.indexOf("="); result = line.substring(index + 1); try { result = URLDecoder.decode(result, "gbk"); System.out.println("result: " + result); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return result; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。