Tag: apache httpclient 4.x

如何从HttpClient切换到HttpUrlConnection?

我正在创建一个Android应用程序,我通过HttpClient将数据从Android应用程序发送到servlet。 我使用HttpPost方法。 我在Android开发者网站上看到Apache HttpClient库在Android Froyo 2.2中有一些错误,毕竟使用HttpUrlConnection代替HttpPost是一个好习惯。 所以我想将我的HttpPost代码转换为HttpUrlConnectio,但不知道如何。 我在这里发布我的Android代码以及servlet代码 Android代码 private String postData(String valueIWantToSend[]) { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); try { List nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair(“param1”,valueIWantToSend[0])); nameValuePairs.add(new BasicNameValuePair(“param2”, valueIWantToSend[1])); nameValuePairs.add(new BasicNameValuePair(“param3”, valueIWantToSend[2])); nameValuePairs.add(new BasicNameValuePair(“param4”, valueIWantToSend[3])); nameValuePairs.add(new BasicNameValuePair(“param5”, valueIWantToSend[4])); nameValuePairs.add(new BasicNameValuePair(“param6”, […]

不推荐使用HttpClient.getParams()。 我该怎么用?

我正在使用apache-httpclient-4.3。 我会分析一个http请求,特别是查询字符串参数,但是 @Deprecated public HttpParams getParams() Deprecated. (4.3) use constructor parameters of configuration API provided by HttpClient 我不确定这意味着什么。 我应该使用一些配置API的构造函数参数(那是什么?HostConfiguration不再作为类提供)。 但是在构建阶段我直接通过url传递查询参数: HttpGet request = new HttpGet(“http://example.com/?var1=value1&var2=value2”); 我找不到从请求对象中读回参数( var1,var2 )的方法,而不使用不推荐使用的方法,这对于从对象获取属性应该很简单。

在Spring 3.1中使用Basic Auth进行RestTemplate

我们在Spring 3.0中使用RestTemplate与xml配置,它工作得非常好。 <!– –> 但是,当我们尝试迁移到Spring 3.1时,不推荐使用CommonsClientHttpRequestFactory类,并且不再使用公共HttpClient。 我试图使用HttpComponentsClientHttpRequestFactory类和Apache HttpClient设置类似的配置,但没有得到如何设置凭据提供程序。 我们希望httpclient具有基本身份validation。 有没有人这样做或任何指针将是很大的帮助。 提前致谢。

如何将使用HttpClient下载的文件保存到特定文件夹中

我正在尝试使用HttpClient下载PDF文件。 我能够获取文件,但我不知道如何将字节转换为PDF并将其存储在系统的某个位置 我有以下代码,如何将其存储为PDF? public ???? getFile(String url) throws ClientProtocolException, IOException{ HttpGet httpget = new HttpGet(url); HttpResponse response = httpClient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { long len = entity.getContentLength(); InputStream inputStream = entity.getContent(); // How do I write it? } return null; }

如何在Apache HTTP Client 4中使用Socks 5代理?

我正在尝试创建通过SOCKS5代理通过Apache HC 4发送HTTP请求的应用程序。 我不能使用app-global代理,因为app是multithreading的(我需要为每个HttpClient实例使用不同的代理)。 我没有找到使用HC4的SOCKS5的例子。 我怎么用呢?

Apache HttpClient GET与body

我试图在其正文中发送一个带有json对象的HTTP GET。 有没有办法设置HttpClient HttpGet的主体? 我正在寻找HttpPost#setEntity的等价物。

Java http客户端和POODLE

关于POODLE漏洞,如果我理解正确,它需要客户端在未能与服务器使用更高版本协议的服务器建立安全通道时自动将TLS协议降级为SSLv3。 常见的Java HTTP客户端库,特别是javax.net.ssl.HttpsURLConnection和Apache HttpClient,在无法与服务器建立TLS会话时会自动降级TLS协议吗? 如果没有,我是否正确他们不受POODLE攻击的影响,除非(a)服务器仅支持SSLv3,或(b)更高级别的逻辑执行降级? 我正在寻找像http://blog.hagander.net/archives/222-A-few-short-notes-about-PostgreSQL-and-POODLE.html这样的东西,但是对于Java客户端。

带有进度的HttpClient Post和MultipartEntityBuilder

我尝试使用HttpClient 4.3.3和MultipartEntityBuilder上传文件时实现进度 所以实际上我用以下代码执行一个post请求 HttpClientBuilder builder = HttpClientBuilder.create(); HttpClient httpClient = builder.build(); HttpPost httpPost = new HttpPost(uploadUrl); MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create(); entityBuilder.addPart(“filea”, new FileBody(filea)); entityBuilder.addPart(“fileb”, new FileBody(fileb)); final HttpEntity entity = entityBuilder.build(); httpPost.setEntity(entity); HttpResponse response = httpClient.execute(httpPost); 知道如何从上传中获得实际进展吗? 我搜索了很多 – 但是示例是针对android而不是普通的java或旧版本的HttpClient并且对我不起作用…

在客户端接收多部分响应(ClosableHttpResponse)

我有一个java控制器,它必须向我发送一些文本数据和不同的字节数组。 所以我正在构建n多部分请求并将其写入来自HttpServletResponse的流。 现在我的问题是如何在客户端解析响应并提取多个部分。 服务器代码SNIPPET: – MultipartEntityBuilder builder = MultipartEntityBuilder.create(); // Prepare payload builder.addBinaryBody(“document1”, file); builder.addBinaryBody(“document2”, file2); builder.addPart(“stringData”, new StringBody(jsonData, ContentType.TEXT_PLAIN)); // Set to request body HttpEntity entity = builder.build(); postRequest.setEntity(entity); 客户代码SNIPPET: – HttpPost httpPost = new HttpPost(finalUrl); StringEntity entity = new StringEntity(json); httpPost.setEntity(entity); httpPost.setHeader(“Content-type”, APPLICATION_JSON_TYPE); ByteArrayOutputStream baos = new ByteArrayOutputStream(); CloseableHttpResponse response = httpClient.execute(httpPost); InputStream […]

Apache Commons HttpClient是否支持GZIP?

Apache Commons HttpClient库是否支持Gzip? 我们想在我们的Apache服务器上使用enable gzip压缩来加速客户端/服务器通信(我们有一个php页面,允许我们的Android应用程序与服务器同步文件)。