[
https://issues.apache.org/jira/browse/HTTPCLIENT-1206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396202#comment-13396202
]
Oleg Kalnichevski commented on HTTPCLIENT-1206:
-----------------------------------------------
What specifically does not work or how does the problem manifest itself? Are
you getting an exception of some sort? The sample code is not much use as it
requires an access token as several dependencies to work.
Oleg
> DecompressingHttpClient doesn't work with HTTPS
> -----------------------------------------------
>
> Key: HTTPCLIENT-1206
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1206
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.2 Final
> Reporter: Hendy Irawan
>
> DecompressingHttpClient is the successor of ContentEncodingHttpClient.
> However ContentEncodingHttpClient works well with HTTPS, while
> DecompressingHttpClient always uses plain HTTP.
> Sample code (from https://github.com/soluvas/fb-tools ):
> package org.soluvas.fbcli;
> import java.net.URI;
> import javax.annotation.PostConstruct;
> import javax.annotation.PreDestroy;
> import javax.enterprise.event.Observes;
> import javax.inject.Inject;
> import javax.inject.Named;
> import org.apache.http.HttpResponse;
> import org.apache.http.client.HttpClient;
> import org.apache.http.client.methods.HttpGet;
> import org.apache.http.client.utils.URIBuilder;
> import org.apache.http.impl.client.ContentEncodingHttpClient;
> import org.apache.http.impl.conn.PoolingClientConnectionManager;
> import org.apache.http.params.BasicHttpParams;
> import org.jboss.weld.environment.se.bindings.Parameters;
> import org.jboss.weld.environment.se.events.ContainerInitialized;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> import akka.actor.ActorSystem;
> import akka.dispatch.Future;
> import com.fasterxml.jackson.databind.JsonNode;
> import com.fasterxml.jackson.databind.ObjectMapper;
> import com.fasterxml.jackson.databind.SerializationFeature;
> /**
> * @author ceefour
> */
> public class FbCli {
> private transient Logger log = LoggerFactory.getLogger(FbCli.class);
> @Inject @Parameters String[] args;
> @Inject @Named("facebook_accessToken") String accessToken;
> public void run(@Observes ContainerInitialized e) {
> log.info("fbcli starting");
> if (args.length < 1)
> throw new RuntimeException("Requires command line
> arguments.");
>
> if ("friends".equals(args[0])) {
> try {
> // this works:
> HttpClient httpClient = new
> ContentEncodingHttpClient(new PoolingClientConnectionManager(), new
> BasicHttpParams());
> // this doesn't work:
> // HttpClient httpClient = new
> DecompressingHttpClient(new DefaultHttpClient(new
> PoolingClientConnectionManager(), new BasicHttpParams()));
> try {
> URI friendsUri = new
> URIBuilder("https://graph.facebook.com/me/friends").addParameter("access_token",
> accessToken).build();
> HttpGet getReq = new
> HttpGet(friendsUri);
> HttpResponse friendsResp =
> httpClient.execute(getReq);
>
> ObjectMapper mapper = new
> ObjectMapper();
>
> mapper.enable(SerializationFeature.INDENT_OUTPUT);
> JsonNode json =
> mapper.readTree(friendsResp.getEntity().getContent());
>
> if (json.has("paging")) {
> JsonNode pagingNode =
> json.get("paging");
> if (pagingNode.has("next")) {
> String nextUri =
> pagingNode.get("next").asText();
> }
> }
>
> mapper.writeValue(System.out, json);
> } finally {
>
> httpClient.getConnectionManager().shutdown();
> }
> } catch (Exception ex) {
> throw new RuntimeException(ex);
> }
> }
> }
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]