用Java写数据到POST请求

2023-11-04

用Java写数据到POST请求

HTTP POST请求最常见的用途是发送表单参数到服务器。除了发送表单数据,还可以使用POST的消息Body体发送各种数据(如纯文本、XML文档等)。本文讲述如何用Java将数据写入POST请求的Body体。

  1. import java.io.IOException;  
  2. import java.io.InputStream;  
  3. import java.io.OutputStreamWriter;  
  4. import java.net.URL;  
  5. import java.net.URLConnection;  
  6. import java.util.logging.Level;  
  7. import java.util.logging.Logger;  
  8. import org.apache.commons.io.IOUtils;  
  9.   
  10. public class RequestTest {  
  11.     public static void main(String[] args){  
  12.         try{  
  13.             // Configure and open a connection to the site you will send the request   
  14.             URL url = new URL("http://www.iana.org/domains/example/");  
  15.             URLConnection urlConnection = url.openConnection();  
  16.             // 设置doOutput属性为true表示将使用此urlConnection写入数据   
  17.             urlConnection.setDoOutput(true);  
  18.             // 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型   
  19.             urlConnection.setRequestProperty("content-type""application/x-www-form-urlencoded");  
  20.             // 得到请求的输出流对象   
  21.             OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());  
  22.             // 把数据写入请求的Body   
  23.             out.write("message = Hello World chszs");  
  24.             out.flush();  
  25.             out.close();  
  26.               
  27.             // 从服务器读取响应   
  28.             InputStream inputStream = urlConnection.getInputStream();  
  29.             String encoding = urlConnection.getContentEncoding();  
  30.             String body = IOUtils.toString(inputStream, encoding);  
  31.             System.out.println(body);  
  32.         }catch(IOException e){  
  33.             Logger.getLogger(RequestTest.class.getName()).log(Level.SEVERE, null, e);  
  34.         }  
  35.     }  
  36. }  
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.io.IOUtils;

public class RequestTest {
	public static void main(String[] args){
		try{
			// Configure and open a connection to the site you will send the request
			URL url = new URL("http://www.iana.org/domains/example/");
			URLConnection urlConnection = url.openConnection();
			// 设置doOutput属性为true表示将使用此urlConnection写入数据
			urlConnection.setDoOutput(true);
			// 定义待写入数据的内容类型,我们设置为application/x-www-form-urlencoded类型
			urlConnection.setRequestProperty("content-type", "application/x-www-form-urlencoded");
			// 得到请求的输出流对象
			OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());
			// 把数据写入请求的Body
			out.write("message = Hello World chszs");
			out.flush();
			out.close();
			
			// 从服务器读取响应
			InputStream inputStream = urlConnection.getInputStream();
			String encoding = urlConnection.getContentEncoding();
			String body = IOUtils.toString(inputStream, encoding);
			System.out.println(body);
		}catch(IOException e){
			Logger.getLogger(RequestTest.class.getName()).log(Level.SEVERE, null, e);
		}
	}
}

是不是很简单?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Java写数据到POST请求 的相关文章

  • Android Studio:clang 错误:未知参数:'-mandroid'

    我正在尝试使用 NDK 构建一个项目 但无法消除此错误 我在谷歌上进行了搜索 但只有 Xamarin 出现类似的错误 我正在使用 Android Studio 该错误的全部内容是 FAILURE Build failed with an e
  • 从线程设置 imageView

    我正在使用朋友下载图片并设置在ImageView 但是 我收到此错误 只有创建视图层次结构的原始线程才能触摸其视图 这是我的代码 ImageView profilePicture Thread thread new Thread Overr
  • Java 中 OWLOntology 到 Jena 模型的转换

    我需要将数据从 OWLOntology 对象 OWL api 的一部分 转换为模型对象 Jena Api 的一部分 我的Java程序应该能够加载owl文件并将其内容发送到fuseki服务器 根据我读到的内容 只有使用 Jena Api 才能
  • Java 中有没有类似 cmake 的工具?

    迄今为止我所知道的最好的Java构建工具似乎是maven 但它仍然没有提供像 cmake 那么多的灵活性 有人知道 java 的类似 cmake 的工具吗 只为您的兴趣 我在 CMake 中开发了 Java 支持 它从 2 8 6 版本开始
  • 如何在netbeans(Java Swing)中查看同一JFrame中包含许多子jPanel的另一个jPanel

    我想通过按钮事件操作显示另一个 jPanel 例如 private void jButtonMouseClicked MouseEvent e getContentPane removeAll update getGraphics code
  • 通过多个FileInputStream访问同一个文件是否安全?

    如标题所述 我想打开多个FileInputStream对象来访问同一个文件以获取不同位置的数据 这样做安全吗 谢谢 只要您所做的只是读取 并且没有任何线程 流对文件设置独占锁 那就完全没问题
  • Java中变量的默认值

    Java 中的每个类型在声明时都有一个原始值 文章原始数据类型 http docs oracle com javase tutorial java nutsandbolts datatypes html包含原始数据类型的描述 知道了这一点
  • 如何正确处理 JWT 刷新?

    我有一个安卓应用程序 它连接到一个REST API开发与Jersey 我的 REST 端点通过令牌进行保护 下面是我生成它们的方法 Algorithm algorithm Algorithm HMAC256 secret String to
  • 为什么 Volatile 的行为很奇怪

    我最近经历了 volatile 关键字的这种奇怪行为 据我所知 易失性关键字应用于变量以反映对数据所做的更改 变量由一个线程传递到另一个线程 volatile 关键字防止在线程上缓存数据 我做了一个小测试 我使用了一个名为 count 的整
  • 在 R 上使用 Java 16 运行 H2O

    我使用 R 命令安装了 h2o install packages h2o 这促使我安装了最新版本的 Java 我安装了 版本 16 一切都运行得很好 除了在启动时 h2o 会提醒我从 h2o ai 网站安装最新版本的 h2o 因为该版本是用
  • 在 java GUI 中更新 JTree

    我在 GUI 中使用了 JTree 并将其添加到 JFrame 中 当我想更新它并更改程序另一部分中的节点时 当程序运行时 作为执行的操作 我尝试添加新节点或删除节点 但我的界面没有改变 请给我建议一个解决方案 regards 除了 ins
  • 如何与 SecretKeySpec 一样加密 ruby​​ 中的数据?

    我正在尝试使用带有 AES 算法的 Cipher 来加密 ruby 中的字符串 我有用Java编写的示例 我从这个例子中得到了帮助 并用 Java 编写了代码 但无法获得与 JAVA 中相同的输出 下面是用java编写的代码 import
  • C++ 将 HashMap 对象返回给 Java

    我有一个 JAVA 调用的 JNI 函数 需要构建并返回一个 HashMap 映射的键是 String 相应的值是 boolean 或 Boolean 任何一个都可以 只要它有效 使用我当前的代码 如下 该字符串已成功添加到返回的映射中 并
  • 在多线程环境下使用JUnit的奇怪问题

    在多线程环境中使用 JUnit 时 我遇到一个奇怪的问题 下面的代码应该会失败 但在eclipse中却确实通过了 public class ExampleTest extends TestCase private ExecutorServi
  • 除了 Javadoc 之外,JDK 类还有其他规范吗?

    除了 Javadoc 之外 JDK 类还有其他规范吗 如果是的话 在哪里 例如 考虑Collections unmodifiableMap 它的Javadoc https docs oracle com javase 8 docs api
  • 如何在 JPasswordField 中启用剪切、复制?

    我注意到我无法剪切和复制JPasswordField 现在如何将密码的选定部分复制 剪切到剪贴板 有什么方法可以做到这一点吗 简单 用这个方法 JPasswordField jt new JPasswordField 20 Put clie
  • 应该尝试...catch进入循环内部还是外部?

    我有一个看起来像这样的循环 for int i 0 i lt max i String myString float myNum Float parseFloat myString myFloats i myNum 这是一个方法的主要内容
  • GridBagLayout:如何填充所有空白空间

    我有一个 JFrame 包含一些使用 gridBagLayout 3 行 一列 的 JPanel 这是我的代码 Container main container getContentPane GridBagLayout layout new
  • 我们如何在Android中动态更改Android应用程序图标[重复]

    这个问题在这里已经有答案了 我知道活动图标也被问过同样的问题 但我的问题有点不同 我只是想知道我们是否可以以编程方式设置应用程序图标 我不是要求更改 我只是要求设置它 我希望我说清楚了
  • 注释非法 Unicode 序列

    我曾经在一个处理 unicode 处理的 Java 应用程序上工作 像往常一样 我首先编写一些代码并测试它 然后注释掉工作代码并添加一些新行 这个过程一直持续到我找到解决方案 我遇到的确切问题是注释掉非法的 Unicode 字符串 有些 u

随机推荐

  • 彻底解决Jetson Inference关于box.com连不上的问题

    jetson inference教程 国内镜像 1 安装git和cmake 并检出库到本地 sudo apt get install git cmake git clone GitHub dusty nv jetson inference
  • 2021 10-24

    let person name 张三 age 23 let p new Proxy person set target prpoName value Reflect set target prpoName value get target
  • 在物联网中应用机器学习

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由未来守护者发表于云 社区专栏 本项目探讨如何将机器学习 Machine learning 应用到物联网 IoT Internet of Things 中 我们将使用 Andro
  • 如何在windows下使用vscode畅快的调试bash shell

    前言 在linux随然有很多的可以调试的bash的工具 但是如果不用ubuntu或者其它linux系的桌面系统 只有命令行的情况下 还是很吃力的 当然了 大神级别可以畅快的书写并调试 但是对于我等小白 空格多一个少一个 只能望尘莫及了 所以
  • Python 安装dlib解决办法

    pypi python org pypi dlib 19 6 0 下载 dlib 19 6 0 cp36 cp36m win amd64 whl 成功安装 dlib 但是import 时候失败 尝试 pip install dlib 19
  • matlab实现神经网络算法,人工神经网络matlab代码

    求一段神经网络MATLAB代码 50 function presim ss net simnonlin y d n y 时间序列数据 列向量 d 时间延迟参数 正整数 n 用于训练的点的个数 正整数trainset gettrain y d
  • 新手学习python语言基础知识第四天

    语言基础 day4 循环 01 for循环 循环 让代码重复执行 代码写一遍 运行的时候可以执行多次 1 for循环 for循环如图 语法 for 变量 in 序列 循环体 说明 for in 关键字 固定写法 变量 写一个变量名 可以是已
  • JAVA ~ FFmpegFrameRecorder用H264编码封装mp4 有声音无图像

    1问题描述 最近公司做的关于摄像机录制视频保存的问题 发送录制了视频上传至服务器中在浏览器上播放有声音无图像 因为自己是这方面的小白 在自己也在前面博客中也分享了rtsp流媒体如何播放及在H5中嵌入vlc 帧抓取图片及录制视频等文章 希望对
  • 使用ai实现后端端口的调用

    一 创建flask框架 1 创建框架提示词 我需要一个flask框架的demo 把端口号改为8080 需要热加载功能 支持在线更改 请给我代码 导入一些依赖库 from flask import Flask render template
  • 视频播放设计测试用例

    功能测试 1 视频资源能否正常获取 无论从服务器后台或者客户端添加 播放是否正常 2 存在多个视频时 能否上下滑动 无论看完未看完 3 如果一个视频涉及另外一个 切换到相应视频能否正常播放 4 视频音量测试 在无声音播放是否 正常声音是否正
  • vue项目 代码中代理 部署后nginx请求代理

    vue项目 代码中代理 vue2 0 文件地址 config index js module exports dev Paths assetsSubDirectory static assetsPublicPath proxyTable 设
  • 金融时间序列分析:Python基于garch模型预测上证指数波动率、计算var和var穿透率、双尾检验

    目录 一 收益率波动效应的分析 1 1 收益率序列平稳性检验 1 2 建立AR p 模型 1 3 Ljung Box混成检验残差序列的相关性 判断是否有ARCH效应 1 4 建立ARCH模型 二 GARCH模型与波动率预测 2 1 建立GA
  • 后端Springboot框架搭建APi接口开发(第一章)

    本文章以IDEA为开发工具 使用SSM框架进行项目编写 第一节 设计并创建数据库 我们用一个简单的用户表进行操作演示 首先创建Data数据库 create database data 创建User数据表 表中包含用户邮箱 用户姓名 用户密码
  • C++ placement new使用

    placement new重载来原来的operator new 且placement new不能被即需重载 placement new是在原有的一块地址上继续创建一个对象 注意对象类型要一致 这样的操作的优势有两个 1 不用花时间在找合适的
  • Anchor DETR

    Anchor DETR Query Design for Transformer Based Detector 2021 9 1 DETR的object query是学习的 没有物理意义也不能解释每个query注意哪 作者认为学习出来的ob
  • 用十条命令在一分钟内检查Linux服务器性能[转]

    概述 通过执行以下命令 可以在1分钟内对系统资源使用情况有个大致的了解 uptime dmesg tail vmstat 1 mpstat P ALL 1 pidstat 1 iostat xz 1 free m sar n DEV 1 s
  • 关于C++中的随机数生成器

    关于C 中的随机数生成器 今天需要生成随机序列来测试代码 记录一下C 中随机数生成器的使用方法 C 中使用random库生成随机数 主要使用两个类 随机数引擎类 调用这个类会生成一个调用运算符 该运算符不接受任何参数 并返回一个随机的uns
  • 你知道两台Linux之间如何传输文件吗?

    你知道两台Linux之间如何传输文件吗 不同的Linux主机之间想要实现文件相互拷贝的方法有三种 第一种 ftp 也就是其中一台Linux安装ftpServer 这样可以另外一台使用ftp的client程序来进行文件的copy 第二种 采用
  • 转载:Java学习路线(完整详细版)超详细

    Java学习路线 第一阶段 Java基础 一 介绍 二 Java开发介绍 三 Java数组 四 Java面向对象 五 异常 六 集合 七 IO流 八 多线程 第二阶段 JavaWeb 一 介绍 二 HTML5 三 CSS3 四 JavaSc
  • 用Java写数据到POST请求

    用Java写数据到POST请求 HTTP POST请求最常见的用途是发送表单参数到服务器 除了发送表单数据 还可以使用POST的消息Body体发送各种数据 如纯文本 XML文档等 本文讲述如何用Java将数据写入POST请求的Body体 j