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

Java Socket 实现HTTP与HTTPS协议发送POST/GET请求 阅读详情
  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>
java socket解析http消息 GET/POST 携带单个附件 package socket; import java.io.*; import java.net.*; /**  * MyHttpServer 实现一个简单的HTTP服务器端,可以获取用户提交的内容  * 并给用户一个response  * 因为时间的关系,对http头的处理显得不规范  * 对于上传附件,暂时只能解析只上传一个附件而且附件位置在第一个的情况  * 转载请注明来自 阅读详情

相关推荐

基于Socket实现HTTP与HTTPS的POST数据发送详解

htmltable {th, td {th {pre {简介:在网络通信中,Socket编程是实现底层数据传输的关键技术。本文详细介绍了如何使用Socket向HTTP和HTTPS服务器发送POST请求,涵盖协议原理、请求格式构造、SSL/TLS安全连接建立等内容。通过Java原生Socket与SSLSocket编程示例,帮助开发者掌握手动构建HTTP报文及处理加密通信的方法,并简要探讨了通用网络库对流程的简化作用,适用于需要深度控制网络交互场景的开发与学习。

weixin_34456923的博客 1821

JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求

JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求 哇,一看标题怎么这么长啊,其实意思很简单,哥讨厌用HTTP Client做POST与GET提交 觉得那个毕竟是别人写得API库,所以我就自己实现了一个简单的HTTP客户端,支持POST 方式提交数据,GET方式查询数据,是测试Restful API比较方便点,然后支持form与JSON两 种方式提交数据...

xidajiancun 724

拆解英飞凌CoolGaN:如何用Silvaco TCAD仿真评估功率GaN HEMT的关键性能(BV、Qg、开关损耗)

本文详细解析了如何使用Silvaco TCAD仿真工具评估英飞凌CoolGaN功率GaN HEMT的关键性能指标,包括击穿电压(BV)、栅电荷(Qg)和开关损耗。通过精确建模极化效应、优化边缘终端结构以及高频开关损耗仿真技术,为功率器件工程师提供了一套完整的'设计-仿真-验证'方法论,助力GaN HEMT在快充、数据中心电源等领域的应用。

weixin_29159995的博客 429

JAVA SOCKET POST

import java.io.*; import java.net.*; import java.util.StringTokenizer; /**  * 一个简单的用 Java Socket 编写的 HTTP 服务器应用, 演示了请求和应答的协议通信内容以及  * 给客户端返回 HTML 文本和二进制数据文件(一个图片), 同时展示了 404, 200 等状态码.  * 首先

一万亿 890

STM32读取BQ40Z50的数据

TI电池管理芯片BQ40Z50,通信协议是SMBUS,类似IIC,速率要求10-100KHz   用的STM32F103的硬件IIC读取电池的各种数值,源代码如下: ​ #include "iic.h" #include "stdio.h"  //***************************************************** // IIC2初始化函数:初始化ST...

百步登峰的博客 1万+

MATLAB出现”警告: 名称不存在或不是目录“的解决方案

MATLAB出现 警告: 名称不存在或不是目录 的解决方案1. 出现错误2. 问题解释3. 解决方法4. 特殊情况5. 问题解决6. 多多点赞交流 1. 出现错误 打开MATLAB突然发现,出现下面的错误: 提示我们不存在这样的路径。 2. 问题解释 这样的错误很明显,我们曾经在预设路径中添加了这个文件夹。 在某种情况下,我们把它删除了,现在MATLAB找不到它了。 (这里我在桌面上添加了新建文件夹,然后将其添加到MATLAB的搜索路径中。之后把新建文件夹删除了,所以就会出现这样的报错) 3. 解决方法

qq_18820125的博客 5万+

使用JavaSocket编写发送HTTP_POST请求的工具类

是转载文章: httpclient 发送 post 请求:  HttpURLConnection 发送 post 请求: http://blog.csdn.net/jadyer/article/details/8637228]> javasocket 发送 post 请求: package com.qingyuan.httpclient; import java.io.ByteArra

u010452908的专栏 2149

【生成数据集EXCEL文件】使用生成对抗网络GAN生成数据集:输出生成数据集EXCEL

生成器的任务是接收随机噪声向量作为输入,并尽可能生成与真实数据相似的样本,而判别器则是一个二分类器,旨在区分输入的样本是来自生成器生成的,还是来自真实数据。在训练过程中,生成器和判别器通过对抗学习的方式相互博弈,生成器的目标是生成足以欺骗判别器的样本,而判别器的目标则是尽可能准确地判断样本的真实性。GAN网络在多个领域展现了强大的能力,能够生成与训练数据分布相似的新数据,包括但不限于图像生成、图像风格转换、超分辨率、数据增强、视频生成、自然语言处理、医学图像处理以及游戏与虚拟现实等。

hustef的博客 1522

Java网络编程——基于socket的HTTP服务器

简介 本文通过最底层的socket来实现HTTP服务器的功能——并发处理GET、POST、HEAD等请求。 HTTP协议的概览 GET请求 GET请求的格式 GET <请求路径> HTTP/1.1 key:value对 key:value对 key:value对 key:value对 空行则结束 GET请求的例子 在google的开发者工具的network里就可以看到 GET / HTTP/1.1 accept-encoding: gzip, deflate, br accep

kingsleyljc的博客 322

基于stm32的数控恒压恒流电源设计方案

基于stm32的数控恒压恒流电源设计方案 基于stm32的数控恒压恒流电源设计方案 不包实物,可自己动手制作,可代做 本设计采用220V市电输入工频变压器,将220V交流电压降为24V交流电压,经过全桥整流加电容滤波,输出约32V直流电压.可调输出电压方案采用线性稳压调整器方案,即运放处于比较调整状态,运放输出驱动P型MOS管,电压输出端由电阻分压反馈至运放同相输入端,运放反相输入端由STM32单片机控制TLC5615数模转换器输入模拟电压,根据运放构成比较器原理,运放的同相端和反相端始终趋向于电压相等的特

m0_72265581的博客 7223

【Bug已解决】codex: tool call timeout / Function execution exceeds limit — CodeX CLI 工具调用超时解决方案

CodeX CLI 工具调用超时(Bash/文件/MCP)的解决方案,含增加超时、拆分命令、后台运行、避免交互卡住与限制读取。

博客 4214

java socket 实现get post 请求

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.ne

Android 9014

PX4控制云台的两种方式 方法适用控舵机 控灯

云台控制插件是mount_control,运行mavros启动文件的时候需要注意该插件是否正常启动,需要在px4_pluginlists.yaml配置文件中将mount_control从blacklisted中移除后才可启动。后会默认占用AUX端口1-4,此时通过AUX通道1-4输出PWM控制信号至云台,对应的RC通道映射功能失效。控制信号输入为RC 则接收机必须连接对应的通道至AUX辅助通道,并通过MNT_MAN_*参数设置pitch/roll/yaw对应的AUX通道。配置为AUTO或MAVLINK,

z1872385的博客 3670

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

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

jgfyyfd的博客 1419

[STC32G144K246入门第三步]驱动串口收发(接收不定长数据)

本文介绍了STC32G144K246单片机的串口功能配置与使用。该芯片具有8组独立USART,支持异步/同步模式,各串口可独立配置波特率并支持DMA传输。重点讲解了串口寄存器配置方法,包括引脚设置、波特率计算和中断处理。特别指出RX引脚需配置为开漏或准双向口以避免接收乱码。还介绍了通过定时器实现不定长数据接收的技术方案,并提供了完整的初始化代码和中断处理函数示例。文中包含串口时序图、寄存器配置表等实用参考信息,适合嵌入式开发者快速上手多串口应用开发。

sinat_58149788的博客 198

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java网络编程:从Socket到HTTP通信

本文介绍了Java网络编程的核心内容,包括Socket编程和HTTP通信。Socket编程部分详细讲解了TCP/IP通信的实现方法,通过ServerSocket和Socket类实现客户端与服务器端的连接和数据传输。HTTP通信部分阐述了HTTP请求和响应的组成结构,以及常见的请求方法和状态码。最后,文章演示了如何使用Java的URL和URLConnection类发送HTTP请求。文中提供了完整的代码示例,包括服务器端和客户端的Socket通信实现,以及HTTP请求的发送方法。这些内容为开发者提供了Java网

今天比昨天更努力一点! 9768

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

java通过Socket执行HTTP的POST方法

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

jazywoo_在路上 1238

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

用Java Socket手撸了一个HTTP服务器

这一块需要注意一点,正文可能为空,也可能有数据;有数据时,我们要如何把所有的数据都取出来呢?

恒二哥的博客 2036

java socket http请求_java通过socket执行http请求

导入包:importjava.io.*;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.Socket;importjava.net.URL;importjava.util.List;/***通过socket请求**@paramurlString*@param...

weixin_29798625的博客 397

网络基础—HTTP、HTPPS、GET、POST、Socket

面试题 在浏览器地址栏键输入URL,按下回车之后经历的流程 答案: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 连接结束 HTTP请求/响应的步骤 客户端连接到web服务器 发送HTTP请求 服务器请求并返回HTTP响应 释放连接TCP 客户端浏览器解析HTML内容 Http(超文本协议): 定义了w...

xiaoxin0630的博客 2849

java http socket_Java socket调用Http协议Post请求

服务地址:http://127.0.0.1:8080/login.html模拟调用:package com.what21.httpclient.post;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStream;import ja...

weixin_35706255的博客 383

java socket post_socket模拟http中post或者get提交数据,并获得响应数据

post提交模拟import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.InetAddress;import jav...

weixin_42364640的博客 710

java socket 模拟_Java Socket 模拟HTTP请求

public static void main(String[] args) {try {String url = "192.168.1.103";Socket socket = new Socket(url, 8085);PrintWriter dos = new PrintWriter(socket.getOutputStream());String postData = "imsi=4601...

weixin_32192681的博客 754

在Java中用Socket类模拟HTTP协议

Http客户端程序已集成在Java语言中,可以通过URLConnection类调用。遗憾的 是,由于SUN没有公布Http客户程序的源码,它实现的细节仍是一个谜。本文根据HTTP协议规范,用Java.net.Socket类实现一个HTTP协议客户端程序。     HTTP协议     HTTP协议同其它TCP/IP协议集中的协议一样,是遵循客户/服务器模型工作的。客户端发往服务

小毅的书屋 3586
上一篇: JAVA代码:通过Socket执行HTTP的GET方法
下一篇: 使用DatagramSocket发送和读取数据
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值