本教程演示如何使用Apache HttpClient 4.5发出Http PUT请求。 HTTP PUT请求方法请求服务器接受并存储提供的URI中包含的实体。 如果该URI引用已经存在的资源,则该资源被修改; 如果URI不指向现有资源,则服务器可以使用该URI创建资源。

Maven依赖关系

我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中,以便创建HTTP PUT请求方法。

pom.xml 文件的内容如下 -

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.yiibai.httpclient.httmethods

http-get

1.0.0-SNAPSHOT

https://memorynotfound.com

httpclient - ${project.artifactId}

org.apache.httpcomponents

httpclient

4.5.2

maven-compiler-plugin

3.5.1

1.8

1.8

HTTP PUT请求方法示例

在以下示例中,我们将数据发布到资源URL:http://httpbin.org/put 。 该资源确认数据并返回一个JSON对象,我们只需将其打印到控制台。 注意:使用Java7的try-with-resources来自动处理关闭ClosableHttpClient。 接下来使用Java 8的lambda作为ResponseHandler。 在这里,根据Http状态代码判断返回状态,当一切正常时,我们会将解析的响应正文返回给String。 当状态码不是所期望的时候,将抛出一个ClientProtocolException,表明Http PUT请求方法失败。 最后,我们将响应主体打印到控制台。

文件:HttpPutRequestMethodExample.java -

package com.yiibai.httpdemo;

import org.apache.http.HttpEntity;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.ResponseHandler;

import org.apache.http.client.methods.HttpPut;

import org.apache.http.entity.StringEntity;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import java.io.IOException;

/**

* This example demonstrates the use of {@link HttpPut} request method.

*/

public class HttpPutRequestMethodExample {

public static void main(String... args) throws IOException {

try (CloseableHttpClient httpclient = HttpClients.createDefault()) {

HttpPut httpPut = new HttpPut("http://httpbin.org/put");

httpPut.setEntity(new StringEntity("Hello, World"));

System.out.println("Executing request " + httpPut.getRequestLine());

// Create a custom response handler

ResponseHandler responseHandler = response -> {

int status = response.getStatusLine().getStatusCode();

if (status >= 200 && status < 300) {

HttpEntity entity = response.getEntity();

return entity != null ? EntityUtils.toString(entity) : null;

} else {

throw new ClientProtocolException("Unexpected response status: " + status);

}

};

String responseBody = httpclient.execute(httpPut, responseHandler);

System.out.println("----------------------------------------");

System.out.println(responseBody);

}

}

}

执行上面示例代码,得到以下结果 -

Executing request PUT http://httpbin.org/put HTTP/1.1

----------------------------------------

{

"args": {},

"data": "Hello, World",

"files": {},

"form": {},

"headers": {

"Accept-Encoding": "gzip,deflate",

"Connection": "close",

"Content-Length": "12",

"Content-Type": "text/plain; charset=ISO-8859-1",

"Host": "httpbin.org",

"User-Agent": "Apache-HttpClient/4.5.5 (Java/1.8.0_65)"

},

"json": null,

"origin": "112.67.166.104",

"url": "http://httpbin.org/put"

}

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

java http put请求方式_HttpClient HTTP PUT请求方法示例相关推荐

  1. HTTP请求方式中8种请求方法(简单介绍)

    HTTP请求方式中8种请求方法(简单介绍) 简单介绍 HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范.HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动 ...

  2. Ajax基本请求方式及其跨域请求

    1.Ajax异步刷新 Ajax的工作流程 Jsp页面通过js向服务器(servlet)发送请求获取到数据,将数据获取到js中,js将数据显示到jsp页面中(document来操作element),最后 ...

  3. php 请求方式,PHP发起HTTP请求有哪几种方式?

    PHP发起HTTP请求方式有:1.通过[file_get_contents]发送get请求:2.通过[CURL]发送get请求:3.通过[fsocket]发送get请求. PHP发起HTTP请求方式有 ...

  4. html 怎么使用http请求数据类型,HTTP请求方式中8种请求方法(简单介绍)

    HTTP工作原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型.客户端向服务器发送一个请求报文,请求报文包含请 ...

  5. jeecgboot中,修改请求方式加入阻止重复请求的方法。

    全部request.js代码 import Vue from 'vue' import axios from 'axios' import store from '@/store' import { ...

  6. java修改图章图片_Java处理PDF图章的方法示例(代码)

    本篇文章给大家带来的内容是关于Java 处理PDF图章的方法示例(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 图章(印章)是一种在合同.票据.公文等文件中表明法律效应.部门 ...

  7. Java 用HTTP的方式发送JSON报文请求

    前言: 项目调用第三方接口时,通常是用socket或者http的通讯方式发送请求:http 为短连接,客户端发送请求都需要服务器端回送响应,请求结束后,主动释放链接.Socket为长连接:通常情况下S ...

  8. Java代码三种方式实现定时执行某个方法

    如果你想定时的去执行某个方法,跟着这个操作测试一下,你就会了. 有3种定时方法可以做数据同步. 第一种: jdk提供的定时器工具Timer 1.单线程 2.可以指定延迟(开始执行的时间).周期时间 3 ...

  9. Vue中使用qs 将post 请求方式序列化成get 请求

    qs 是一个增加了一些安全性的查询字符串解析和序列化字符串的库 npm install qs 组件使用 import qs from 'qs' 主要使用qs.parse(),qs.string qs. ...

  10. python伪造浏览器请求头_Python3 伪装浏览器的方法示例

    一.伪装浏览器 对于一些需要登录的网站,如果不是从浏览器发出的请求,则得不到响应.所以,我们需要将爬虫程序发出的请求伪装成浏览器正规军. 具体实现:自定义网页请求报头. 二.使用Fiddler查看请求 ...

最新文章

  1. 已知环境静态障碍物避障_我女儿如何教我无障碍环境
  2. Mysql字符串处理
  3. CentOS 6.5下SSH总提示Warning: Permanently added '****' (RSA) to the list of known hosts.
  4. 【Linux】eclipse juno 边框过大的调整方法
  5. RequestAnimationFrame知多少?
  6. [全文索引]非索引字表
  7. Linux动态链接库的使用
  8. 信号通路:PI3K信号通路与PI3Kα抑制剂
  9. java int64如何定义_java – 具有两个int属性的自定义类的hashCode是什么?
  10. Android210更新2---支持喇叭
  11. Docker 私有仓库的搭建
  12. Xuggler视频处理简介
  13. 一个小菜鸟给未来的菜鸟们的一丢丢建议
  14. python根据矩阵数值大小涂上不同深浅颜色
  15. java ic卡读写_使用Java驱动ACR122U对IC卡进行读写,总结
  16. 如何利用抖加实现精准引流?3种玩法,愿你别再花冤枉钱了?(五)
  17. 1998-2018 TOM邮箱20年发展
  18. java 工资如何_Java编写员工薪资表
  19. 博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)
  20. 第三方登陆--QQ登陆

热门文章

  1. 人类dna信息量_如果有一个人的DNA序列等遗传信息数据,理论上能否克隆出这个人?需多少MB(兆字节)的信息量?...
  2. 用计算机怎么刷试听量,QQ音乐怎么刷播放次数,快速增加播放量
  3. 2020-11-13 Python 文件读写、os模块及递归函数
  4. scroll-view实现下拉刷新(避免onload进入页面初始refresher-triggered为true触发下拉问题)
  5. “自我炒作”雄安新区 遭监管层严打
  6. VVC系列(三)xCompressCTU、xCompressCU和xCheckModeSplit解析
  7. 机器学习笔记之R语言基础5(T,F检验)
  8. 玩转oled屏(基于SPI协议)
  9. XCode6 模拟器键盘不显示解决方案
  10. zipException error in opening zip file