java http接收数据精简版

作者 : admin 本文共1856个字,预计阅读时间需要5分钟 发布时间: 2024-06-17 共1人阅读

使用原生 java 与原生 js 

java http接收数据精简版插图

html部分










	
		
		Title
		
		



	
	
		
		
		
			

old

java服务器部分

package Httpv3;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class freshHttp {
	public static void main() throws IOException {
//		创建服务器,绑定端口
		HttpServer httpServer = HttpServer.create(new InetSocketAddress(8080), 0);
//		绑定消息检测,"/"表示接收所有来源的消息,例如"/aa"是接收aa开头的消息
		httpServer.createContext("/", new MyHttpHandler());
		// 启动服务
		httpServer.start();
	}
//	只有在内部static 才行
	static class MyHttpHandler implements HttpHandler {
		@Override
		public void handle(HttpExchange httpExchange) throws IOException {
//			打印请求头数据
			System.out.println("addr: " + httpExchange.getRemoteAddress() + // 客户端IP地址
					"; protocol: " + httpExchange.getProtocol() + // 请求协议: HTTP/1.1
					"; method: " + httpExchange.getRequestMethod() + // 请求方法: GET, POST 等
					"; URI: " + httpExchange.getRequestURI()); // 请求 URI
			// 获取请求头
			String userAgent = httpExchange.getRequestHeaders().getFirst("User-Agent");
			System.out.println("User-Agent: " + userAgent);

			byte[] respContents = ("\r
" + "\r
" + "  Tove\r
"
					+ "  Jani\r
" + "  Reminder\r
"
					+ "  Don't forget me this weekend!\r
" + "" + "小白同学和哲同学的秘密基地").getBytes("UTF-8");
			httpExchange.getResponseHeaders().add("Access-Control-Allow-Origin", "*");
			httpExchange.getResponseHeaders().add("Access-Control-Allow-Headers", "*");
//			httpExchange.getResponseHeaders().add("Access-Control-Allow-Headers", "Content-Type");
			httpExchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8");
			// 设置响应code和内容长度
			httpExchange.sendResponseHeaders(200, respContents.length);

			// 设置响应内容
			httpExchange.getResponseBody().write(respContents);
//			接收请求数据
			byte[] receivev3 = httpExchange.getRequestBody().readAllBytes();
			System.out.println(Arrays.toString(receivev3));

//	         字节流转字符流
			String utf_8 = new String(receivev3, StandardCharsets.UTF_8);
			System.out.println(utf_8);

			// 关闭处理器
			httpExchange.close();
		}
	}
}

本站无任何商业行为
个人在线分享 » java http接收数据精简版
E-->