Httpclient httpdelete 参数
2024-08-28 18:24:04
Httpclient 中常用的请求有2个,HttpPost 和 HttpGet,今天在对某个网站进行分析的时候,突然发现用到了 HttpDelete,并且传参 是 Json。
1、一般 HttpPost 对传参 Json 的处理是:
// 中文处理
StringEntity se = new StringEntity(json, Consts.UTF_8);
httppost.setEntity(se);
2、使用 HttpDelete,貌似不能传参,突发奇想,将 HttpDelete 换成 HttpPost,再传参,此路不通。
3、百度没有找到很好的解决方法。只好 Google, HttpDelete Json,在 stackoverflow 上看了几篇文章,立马找到解决办法了
详见 http://stackoverflow.com/questions/3773338/httpdelete-with-body
4、解决办法:
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import java.net.URI;
import org.apache.http.annotation.NotThreadSafe; @NotThreadSafe
class HttpDeleteWithBody extends HttpEntityEnclosingRequestBase {
public static final String METHOD_NAME = "DELETE";
public String getMethod() { return METHOD_NAME; } public HttpDeleteWithBody(final String uri) {
super();
setURI(URI.create(uri));
}
public HttpDeleteWithBody(final URI uri) {
super();
setURI(uri);
}
public HttpDeleteWithBody() { super(); }
}
然后就简单了
httpdelete.setHeader("Cookie", cookie);
// json 处理
httpdelete.setHeader("Content-Type", "application/json; charset=UTF-8");
httpdelete.setHeader("X-Requested-With", "XMLHttpRequest"); httpdelete.setEntity(new StringEntity(json));
httpdelete.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000);
HttpResponse response = client.execute(httpdelete);
最近 Google 大神很不方便,推荐一款浏览器,Buckyball,大伙自个百度。
最新文章
- iOS 关于PCH文件(全局文件)的介绍
- 【干货】微信场景之H5页面制作免费工具大集合
- 兼容性测试-如何使用IE11做低版本IE的兼容性测试
- HoloLens模拟器仿真器与文档现已向开发者们开放
- C 文件读写 容易疏忽的一个问题
- 如何更改Json.NET的序列化规则
- Android 内核基本知识
- 实例解析shell子进程(subshell )
- 关于 实时推送技术--WebSocket的 知识分享
- Oracle EBS-SQL (SYS-6):sys_在线用户职责查询.sql
- Spring使用 --- 基本概念(一):DI,依赖注入
- Linux磁盘和文件系统简介
- win10 内置软件经常不用,还占空间?如何轻松卸载
- windos或linux中 which命令 查看当前要执行的命令所在的路径
- TCP/IP网络知识点总结
- centsos7修改主机名 [root@st152 ~]# cat /etc/hostname
- 008——php字符串中的处理函数(七)
- thinkphp+redis实现秒杀,缓存等功能
- LightOJ 1414 February 29(闰年统计+容斥原理)
- zabbix install
热门文章
- C语言中 fputs() fgets() 的使用方法
- 03、IDEA下Spark API编程
- ODBC驱动程序丢失解决方法
- CRUD全栈式编程架构之控制器的设计
- sublime打开txt文件乱码的问题
- 【转载】#344 - Hidden Base Class Member Is Invoked Based on Declared Type of Object
- mysql轮廓总结
- CORS跨域限制以及预请求验证
- Nginx + uWSGI + web.py 搭建示例
- 3、SpringBoot+MybatisPlus整合-------代码生成器