Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTTP 400坏请求-在Android上进行重装的无效标头

HTTP 400坏请求-在Android上进行重装的无效标头
EN

Stack Overflow用户
提问于 2014-01-04 01:02:04
回答 1查看 10.4K关注 0票数 2

我正在用Apache HttpClient将我的安卓项目迁移到改造OkHttp。POST/PUT请求返回错误,即使应用程序自定义标头相同且两个请求的内容长度相等。

  • 工作得很好。
  • 发布/发布:Http Error 400 Bad Request - Invalid Header。即使

作为参考,该服务器是使用ASP.NETWindows Azure上实现的。

Apache HttpClient

代码语言:javascript
运行
AI代码解释
复制
HttpPut put = new HttpPut(<URL>);
StringEntity se = new StringEntity(json);
se.setContentEncoding("UTF-8");
se.setContentType("application/json");
put.setEntity(se);
response = client.execute(put);

改装+ OkHttp

代码语言:javascript
运行
AI代码解释
复制
// API
@PUT("/<path>")
Response updateThing(@Body Dto dto);

// OkHttpClient
@Override
public Response execute(Request r) throws IOException {
    List<Header> headers = HttpHelper.headerFor(method, url, etc);

    // Create new request with required headers
    Request encodedRequest = new Request(method, url, headers, r.getBody());
    return super.execute(encodedRequest);
}

服务器返回:

代码语言:javascript
运行
AI代码解释
复制
---> HTTP PUT https://example.com/path
Content-Type: application/json; charset=UTF-8
Content-Length: 53
{"user_id":"0","latitude":"0.0","longitude":"0.0"}
---> END HTTP (53-byte body)
PUT https://example.com/path
Authorization Basic bmfweEskWkvlabF0ZSQ=
Content-Type application/json
Accept application/json
HashKey 8eb93b898ddc2b74685ed2be64c76cc3af973ebc6b628781fe50eedcbe29376f
<--- HTTP 400 https://example.com/path (1397ms)
: HTTP/1.1 400 Bad Request
Connection: close
Content-Length: 339
Content-Type: text/html; charset=us-ascii
Date: Sat, 04 Jan 2014 08:26:45 GMT
OkHttp-Received-Millis: 1388824004870
OkHttp-Response-Source: NETWORK 400
OkHttp-Selected-Transport: http/1.1
OkHttp-Sent-Millis: 1388824004785
Server: Microsoft-HTTPAPI/2.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>

<--- END HTTP (339-byte body)

编辑

  • 使用联机Hurl.it发送POST/PUT请求是可行的。
  • 发送POST/PUT请求而不使用任何主体的Retrofit也能工作。
EN

回答 1

Stack Overflow用户

发布于 2014-01-04 01:39:58

不确定服务器需要什么作为标头参数,但可以在客户端接口上传递任何标头值。

代码语言:javascript
运行
AI代码解释
复制
@PUT("/<path>")
Response updateThing(@Header("headerName") String headerName, @Body Dto dto);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20918976

复制
相关文章
通过 HTTP 标头的 XSS
在某些情况下,在应用程序的一个 HTTP 标头中传递的信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。
Khan安全团队
2022/03/09
2.2K0
常见的HTTP标头介绍
在网络爬虫的实践过程中会遇到诸多挑战,被屏蔽是最令人头疼的一个。幸好,有许多技术可以帮助您免受IP屏蔽带来的影响,这其中,HTTP标头(HTTP Headers)的使用和优化是最有效的方法之一,但它往往也是最被大家低估的方法之一。
用户7850017
2022/05/07
1.2K0
常见的HTTP标头介绍
http请求报400报错
400 是 HTTP 的状态码,主要有两种形式: 1、bad request 意思是 “错误的请求”; 2、invalid hostname 意思是 “不存在的域名”。 在ajax请求后台数据时有时会报 HTTP 400 错误 – 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里
全栈程序员站长
2022/07/01
2K0
http的请求头基础
互联网媒体类型(Internet media type,也称为MIME类型(MIME type)或内容类型(content type)) 是给互联网上传输的内容赋予的分类类型。互联网媒体类型与文件拓展名相对应。
epoos
2022/06/06
1.8K0
HttpURLConnection设置host请求头无效
由于业务需要在调用第三方SDK时需要设置host请求头为对方的域名,在测试时发现代码设置后依然无法生效。查找资料后发现是从JDK6的6u23版本开始就对HTTP的部分请求头做了限制,如下:
雨临Lewis
2022/11/22
2.5K0
设置和获取HTTP标头
%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:
用户7741497
2022/06/09
2.6K0
HTTP请求头referer
留言板有个来源的字段,用来获取网页的地址。测试时发现在谷歌Chrome浏览器中,可以正确获取到网址来源,然后用火狐Firefox浏览器,却无法正确获取到网址来源。因为后台使用的是PHP,留言成功之后通过JS弹出alert提示框,然后再通过location.href跳转回留言页面。
siberiawolf
2020/09/10
3.4K0
Http常见请求头知识
Http请求 Http请求分为三部分:请求行,请求头,请求体 请求头 报文头包含若干属性,格式为“属性名:属性值” 服务端据此获取客户端的基本信息 常见的请求头 Accept:浏览器支持MIME媒体类型,比如text/html,application/json,image/webp等 Accept-Encoding:浏览器发给服务器,声明浏览器支持的编码类型,gzip,deflate Accept-Language:客户端接受的语言格式,比如zh-CN Connection:keep-alive,开启H T
高大北
2022/06/14
9550
Log4Shell HTTP 标头注入
此模块需要 Metasploit:https://metasploit.com/download
Khan安全团队
2022/01/14
1.2K0
在Android P上使用Http
不少同学在适配Android P的时候会遇到not permitted by network security policy问题:
JarvanMo
2018/10/15
2.1K0
「HTTP标头」都给你整理好了
HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍
Java3y
2020/02/19
5.9K0
「HTTP标头」都给你整理好了
android http请求
android开发如果使用sdk23以上会发现之前很多http库都不能用了,原因是sdk23 中已不提供org.apache.http.*,推荐使用 HttpURLConnection,这个API的效率更高,可以减少网络使用,降低耗电量,好处是不少但是没啥好用的封装库,要是还想用Apache HTTP API也是有办法的。
码客说
2019/10/22
8760
使用结构化的标头字段改善HTTP
原文 / https://www.fastly.com/blog/improve-http-structured-headers
LiveVideoStack
2020/08/04
7460
服务器未能识别 HTTP 标头 SOAPAction 的值
SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个HTTP SOAP请求时,其HTTP客户端必须使用/指明SOAPAction HTTP request header。 SOAPAction header的内容可以被用在服务端,诸如:防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串("")表示SOAP消息的目
张善友
2018/01/19
3.2K0
基于libcurl进行HTTP请求
互联网时代,单机客户端应用几乎不存在,许多服务存在云端,客户端通过HTTP(Restful API)访问云端服务,所以HTTP请求基础能力是客户端必备的。
gaigai
2020/02/10
7.7K3
【第19期】HTTP请求头referer
留言板有个来源的字段,用来获取网页的地址。测试时发现在谷歌Chrome浏览器中,可以正确获取到网址来源,然后用火狐Firefox浏览器,却无法正确获取到网址来源。因为后台使用的是PHP,留言成功之后通过JS弹出alert提示框,然后再通过location.href跳转回留言页面。
siberiawolf
2020/09/17
3.6K1
HTTP请求头引发的注入问题 (SQL注入)
关于请求头中注入问题的演示,这里我写了一些测试案例,用来测试请求头中存在的问题。我们常见的会发生注入的点有 Referer、X-Forwarded-For、Cookie、X-Real-IP、Accept-Language、Authorization,User-Agent
王瑞MVP
2022/12/28
1.6K0
HTTP请求头引发的注入问题 (SQL注入)
【Android】Android 封装 Http 请求工具
Map<String, String> map = new HashMap<>();
易寒
2022/01/04
9870
网络编程之HTTP header请求头详解
(3)HTTP/1.1: URI(Uniform Resource Identifier,统一资源标识符)及其版本
lyb-geek
2018/07/26
1.8K0
网络请求返回HTTP状态码(404,400,500)
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求的状态代码。 代码 说明 200 (
honey缘木鱼
2018/06/22
15.1K0

相似问题

HTTP标头“内容-类型:多部分/混合”导致"400坏请求“

11

PHP Curl给出坏请求-无效标头

11

HTTP 400坏请求

12

400坏请求:带有curl POST请求的无效标头名称

13

HTTP POST -> 400:坏请求

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档