java - 在android中将HttpParams添加到HttpClient返回服务器错误(400)

标签 java android http httpclient

我只是想了解如何,但这就是事实

httpClient = new DefaultHttpClient();

工作正常。

但是这个:

HttpParams httpParameters = new BasicHttpParams();
httpClient = new DefaultHttpClient(httpParameters);

返回服务器错误(400)

怎么可能呢?我没有改变任何东西,只是添加了空参数....

我还检查了 httpClient 的字段,但没有看到任何不同的内容

Before

After

最佳答案

新的 DefaultHttpClient 中包含的 HttpParams 值包含一些基本 header (例如用户代理和协议(protocol)版本),而全新的 BasicHttpParams code> 完全是空的。

http.protocol.expect-continue=false, 
http.protocol.version=HTTP/1.1, 
http.protocol.content-charset=ISO-8859-1, 
http.useragent=Apache-HttpClient/UNAVAILABLE (java 1.4)

您的服务器可能至少需要其中一些,因此会出现“错误请求”响应。

如果您需要添加自定义参数,您应该从 httpClient.getParams() 开始并从那里构建它们。

关于java - 在android中将HttpParams添加到HttpClient返回服务器错误(400),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594213/

相关文章:

multithreading - 在 Go 中的多线程中按 block 下载文件

java - inputStream读取方法不断读取0

android - 是否可以在 Android Oreo 上更改通知点的颜色

javascript - 站点自动重定向

java - 如何将崩溃信息从我的 Android 应用程序发送到我的服务器?

java - 为 RecyclerView 实现不同的布局,但在 onBindViewHolder 中出现类转换错误

javascript - Spotify API 错误代码 400 - 无搜索查询

java - 在 Nashorn 中区分 null 和 undefined 值

java - 以循环方式打印值

java - 使用 gson 在内部将对象存储为 json 是常见做法吗?