精华内容
下载资源
问答
  • 主要介绍了PHP中模拟处理HTTP PUT请求的例子,PUT请求会把消息本体中的消息发送到一个URL,跟POST类似,需要的朋友可以参考下
  • 本教程演示如何使用Apache HttpClient 4.5发出Http PUT请求HTTP PUT请求方法请求服务器接受并存储提供的URI中包含的实体。 如果该URI引用已经存在的资源,则该资源被修改; 如果URI不指向现有资源,则服务器可以...

    本教程演示如何使用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 个群。

    展开全文
  • PUT请求该如何传输请求参数呢?有如下的接口@RequestMapping(value = "testPut", method = RequestMethod.PUT)public Result testPut(@RequestParam String foo, @RequestParam String bar) {System.out.println(foo...

    PUT请求该如何传输请求参数呢?

    有如下的接口

    @RequestMapping(value = "testPut", method = RequestMethod.PUT)

    public Result testPut(@RequestParam String foo, @RequestParam String bar) {

    System.out.println(foo + " " + bar) ;

    return Result.success(null);

    }

    通过CURL来调用该接口

    # 通过-d传输请求参数失败

    curl -X PUT -d "foo=foo&bar=bar" 'http://localhost:8080/testPut'

    org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'foo' is not present

    # 但直接放在url后面是可以的

    curl -X PUT 'http://localhost:8080/testPut?foo=foo&bar=bar'

    但我想像POST一样 以请求体的方式传输请求参数, 而不是作为URL的一部分

    现在我的方法是

    @RequestMapping(value = "testPut2", method = RequestMethod.PUT)

    public Result testPut2(@RequestBody FooBar fooBar) {

    System.out.println(fooBar) ;

    return Result.success(null);

    }

    @Data

    static class FooBar{

    public String foo;

    public String bar;

    }

    然后以json的方式调用

    curl -X PUT -H "Content-Type: application/json" -d '{"foo":"foo","bar":"bar"}' 'http://localhost:8080/testPut2'

    这样是可以的 但奇怪为什么PUT只能接收json呢?

    展开全文
  • java – 通过HTTP PUT请求上传文件

    千次阅读 2021-03-13 08:26:42
    让弹簧正确响应HTTP PUT方法的文件上载请求非常容易.import org.apache.commons.fileupload.FileUploadBase;import org.apache.commons.fileupload.servlet.ServletRequestContext;import javax.servlet....

    让弹簧正确响应HTTP PUT方法的文件上载请求非常容易.

    import org.apache.commons.fileupload.FileUploadBase;

    import org.apache.commons.fileupload.servlet.ServletRequestContext;

    import javax.servlet.http.HttpServletRequest;

    public class PostAndPutCommonsMultipartResolver extends CommonsMultipartResolver {

    private static final String POST_METHOD = "POST";

    private static final String PUT_METHOD = "PUT";

    @Override

    public boolean isMultipart(HttpServletRequest request) {

    boolean isMultipartRequest = false;

    if (request != null) {

    if (POST_METHOD.equalsIgnoreCase(request.getMethod()) || PUT_METHOD.equalsIgnoreCase(request.getMethod())) {

    isMultipartRequest = FileUploadBase.isMultipartContent(new ServletRequestContext(request));

    }

    }

    return isMultipartRequest;

    }

    }

    真正重要的是扩展默认

    展开全文
  • java 发送上传文件的 http put 请求

    千次阅读 2019-05-15 18:39:41
    public static CloseableHttpResponse putFilesWithHeader(String url,JSONObject requestJson,Map<String, String> header ,File... files) { CloseableHttpResponse execute = null;... HttpPut http...
    public static CloseableHttpResponse putFilesWithHeader(String url,JSONObject requestJson,Map<String, String> header ,File... files) {
        CloseableHttpResponse execute = null;
    
        HttpPut httpPut = new HttpPut(url);
        String responseStr = null;
        if (header != null) {
            for (Map.Entry<String, String> entry : header.entrySet()) {
                httpPut.setHeader(entry.getKey(),entry.getValue());
            }
        }
        MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create().setCharset(Charset.forName("UTF-8"));
        for (File file : files) {
            multipartEntityBuilder.addBinaryBody("facePic", file);
        }
        Set<Map.Entry<String, Object>> entries = requestJson.entrySet();
        for (Map.Entry<String, Object> requestParam : entries ) {
            multipartEntityBuilder.addTextBody(requestParam.getKey(),(String) requestParam.getValue());
        }
        HttpEntity entiy = multipartEntityBuilder.build();
        httpPut.setEntity(entiy);
        CloseableHttpClient  closeableHttpClient = HttpClients.createDefault();
        try {
              execute = closeableHttpClient.execute(httpPut);
        } catch (Exception e) {
            e.printStackTrace();
        }
           return  execute;
    
    
    }
    展开全文
  • 问题描述SpringMVC中,Controller层设置该接口为PUT请求方式。但是请求的时候,只能是url地址拼接参数,不可以像POST请求一样通过表单方式传递参数。问题原因对于表单提交参数,tomcat默认只解析POST的表单,对于PUT...
  • NULL 博文链接:https://tim-fly.iteye.com/blog/2115110
  • java http 发送 put delete post get请求

    热门讨论 2015-05-27 14:31:38
    是一个Java 发送http put、delete、 post、 get 请求的工具类。可用在与restful service 进行通讯的代码中。
  • HTTPPUT请求

    千次阅读 2021-06-15 21:20:53
    浏览器在发PUT请求前会先发OPTIONS请求进行预检,看服务端是否可以接受PUT请求,若可以就在响应头添加字段告诉浏览器可以继续发送PUT请求 response[“Access-Control-Allow-Methods”] = “PUT” 就是添加这个字段 ...
  • * 请求包体(body)格式如下(PUT): * url: /api/user/login * Body: ``` { type: LOGIN, jid: String //"userid/res" , checkSum: String // "md5_value" } ![图片说明]...
  • 对于表单提交,tomcat默认只解析POST的表单,对于PUT和DELETE的不处理,所以Spring拿不到。解决方案:1、修改tomcat的server.xml:   &lt;Connector port="8080" protocol="HTTP/1.1" ...
  • java的HttpPUT请求

    万次阅读 2017-07-12 17:13:52
    重点在这一句:httpurlconnection.setRequestMethod("PUT");如果想改成post请求,就该成httpurlconnection.setRequestMethod(...public static String httpPut(String urlPath, String data, String charSet, String[]
  • 目录 什么是REST? 什么是Restful? 为什么使用Restful? ...客户端请求REST模式的WEB SERVICE接口 ...c# 请求代码 ...最近经常对接restful风格的API,本身对rest也比较陌生,所以...Roy Thomas Fielding是HTTP协议(v1.0和v1.
  • python发送put请求

    2021-04-12 16:50:23
    Python请求api有四种形式:get、post、put、delete,依赖request模块,每种请求请求格式大致相同,这里以put为例作说明 url = 'http://feedback.nie.netease.com/api/feedback/968684?token=' + token headers =...
  • * HTTP发送post、put请求,带header、body的方法,获取结果 * @param url * @param requestMethod POST、PUT * @param headerMap * @param contentMap * @author yswKnight * @return...
  • Java发送http的get、post、put请求

    万次阅读 2016-06-12 10:31:44
    1. HTTP GET请求/** * 向指定URL发送GET方法的请求 * * @param url 发送请求的URL * * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果...
  • Java | httpClient请求put方法

    千次阅读 2018-09-19 19:30:34
    概述 目前很多公司项目大多是微服务开发,接口规范一般会采用restful格式,所以请求方式不局限于post和get,还有put和delete。 所以在用httpClient请求的时候,会遇到请求方式的... * 发送 POST 请求HTTP),K...
  • linux系统中使用curl工具发送httpput请求可以访问到web服务器的数据,其中curl的命令如下: curl -v --basic -u admin:public -k http://localhost:8080/api/v2/nodes/emq@127.0.0.1/plugins/emqx_recon -X PUT -i...
  • /**  * 实例化HttpClient ...该方法是发送put请求,代码基本和post请求没什么区别。 这里再说一下如果要发送get请求,基本代码也是这样,只是get请求不需要设置请求参数的StringEntity,参数都追加到url后面。
  • Android中HttpPut请求

    千次阅读 2014-09-24 23:21:47
    导入httpcore和httpmime两个jar
  • http请求有八中方法GET,POST,HEAD,PUT,DELETE,OPTIONS,TRACE,CONNECT,GET和POST比较常用,由于项目开发需要,开始自己研究PUT请求方法,其实和POST请求方法差不多。下面来讲一下常用的请求方法和不常用的PUT方法。 ...
  • js:get/post/put/delete/option请求

    千次阅读 2021-01-08 16:47:29
    1、GET get请求是用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除...get请求其实本身HTTP协议并没有限制它的URL大小,但是不同的浏览器对其有不同的大小长度限制 2、POST post请求一般
  • 请求方式为put中文乱码处理

    千次阅读 2018-07-02 09:45:13
    在web.xml中添加以下内容就可以了:  &lt;!-- put 数据格式转换 --&...httpPut&lt;/filter-name&gt;  &lt;filter-class&gt;org.springframework.web.filter.HttpPutFormCont...
  • HTTPPUT方式发送请求

    千次阅读 2013-09-23 23:24:25
    来源:http://zhidao.baidu.com/link?url=BA96AeYlYEefAKzwT-9O1MaZisfsK62CnCFz2SZjcc_U2UiahY4eplNzzdZFlmH5N4XVIs4AIccBGMC6OLfEXq 例如: public static String sendGetResult(String url, int timeOut, ...
  • 今天,简单讲讲android如何使用httpPUT请求。之前,自己做一个功能时,发现一个现象,自己使用post发送请求到服务器,服务器返回请求失败。但是当我把请求方式变为PUT请求时,请求数据没有改变,服务器却返回请求...
  • HTTP PUT 请求可以给出数据要保存到目标文件的那个区域内,相当于在写入文件时指定了起始偏移量。写入的区域可以尚不存在,这时的行为同文件指针移动到超过尾部时一样,都是在中间形成一个空洞,对应的目标文件也就...
  • http的get、post、put 方法进行封装,置成lib直接调用
  • 在使用curl封装的HTTPClient时,在上传文件的put方法中,通过抓包抓包数据分析,发现在每次真正传输数据之前都必须要收到Server端的响应:HTTP/1.1 100 Continue,这无疑增加了请求的时间; 使用 curl 发送 POST ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 337,026
精华内容 134,810
关键字:

httpput请求