Tag: apache commons httpclient

Jersey-client和Apache HTTP Client如何比较?

首先,我不是想在这里开始一场火焰战争。 我知道泽西足够好,但很less使用httpclient。 jersey-client和Apache的httpclient有什么不同之处? 在哪个领域比另一个更好? 有没有比较好的图表? 哪一个更好的文件(比如2048 MB)? 非常感谢您的意见!

在APK app-debug-unaligned.apk的打包过程中复制文件

我得到这个错误Duplicate files during packaging of APK app-debug-unaligned.apk时, Duplicate files during packaging of APK app-debug-unaligned.apk放2个jar文件时: httpclient-4.3.5.jar httpmime-4.3.5.jar 在Sync with Gradle并Run之后进入libs文件夹。 如果用户1的jar文件 – httpmime-4.3.5.jar ,我不会得到这个错误。 请帮助我如何避免这个错误,在上面还可以使用2个jar文件, 谢谢, p / s:我使用Android Studio版本0.8.6。 Error Detail 错误:APK打包过程中出现重复文件… \ app \ build \ outputs \ apk \ app-debug-unaligned.apk归档path:META-INF / DEPENDENCIES原始码1:… \ app \ libs \ httpclient-4.3 .jar Origin 2:… \ app […]

Apache HTTP客户端或URLConnection

我需要下载一个Android应用程序的网页,我很难决定是否使用Android的Apache HTTP客户端或Java的URLConnection。 有什么想法吗?

如何使用Apache HttpClient POST JSON请求?

我有如下的东西: final String url = "http://example.com"; final HttpClient httpClient = new HttpClient(); final PostMethod postMethod = new PostMethod(url); postMethod.addRequestHeader("Content-Type", "application/json"); postMethod.addParameters(new NameValuePair[]{ new NameValuePair("name", "value) }); httpClient.executeMethod(httpMethod); postMethod.getResponseBodyAsStream(); postMethod.releaseConnection(); 它不断回来一个500.服务提供商说,我需要发送JSON。 那么Apache HttpClient 3.1+是如何完成的呢?

禁用HttpClient日志logging

我在集成testing套件中使用commons-httpclient 3.1。 HttpClient的默认日志logging非常嘈杂,我似乎无法closures它。 我试过按照这里的说明,但没有一个有所作为。 大多数情况下,我只需要让org.apache.http.wirelogging器闭嘴。 部分问题是我不知道HttpClient试图使用什么types的logging器,大部分的问题是我从来没有使用过这个库。 我试图创build一个log4j.properties文件,并将其放在我的testing/资源文件夹中,修改jre / lib中的master logging.properties文件,并将各种日志logging选项发送到Maven,如日志页上指定的,有什么区别。 任何帮助表示赞赏…这使我疯狂。 更新:一个更正:看起来问题的输出实际上源于jwebunit使用HttpClient,而不是我自己的。 无论哪种方式,这是不可取的。 更新:感谢迄今的尝试。 我已经尝试了以下build议,但仍然没有运气。 我有一个文件commons-logging.properties在我的src / test / resources文件夹下面的内容 org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory log4j.configuration=log4j.properties 和一个文件log4j.properties与下面的内容在同一个文件夹中 log4j.rootLogger=ERROR, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n #This is the line that should make httpclient shut up log4j.logger.org.apache.http=ERROR 但是,当我运行我的testing时,我仍然得到一堆像这样的输出: 21:57:41.413 [main] DEBUG org.apache.http.wire – << " [\r][\n]" 21:57:41.413 [main] DEBUG org.apache.http.wire – […]

在multithreading环境中使用HttpClient的最佳实践

有一段时间,我一直在multithreading环境中使用HttpClient。 对于每个线程,当它启动连接时,它将创build一个全新的HttpClient实例。 最近我发现用这种方法可能会导致用户打开太多的端口,大部分连接都处于TIME_WAIT状态。 http://www.opensubscriber.com/message/commons-httpclient-dev@jakarta.apache.org/86045.html 因此,而不是每个线程在做: HttpClient c = new HttpClient(); try { c.executeMethod(method); } catch(…) { } finally { method.releaseConnection(); } 我们计划有: [方法A] // global_c is initialized once through // HttpClient global_c = new HttpClient(new MultiThreadedHttpConnectionManager()); try { global_c.executeMethod(method); } catch(…) { } finally { method.releaseConnection(); } 在正常情况下,global_c将被50个++线程同时访问。 我想知道,这会造成任何性能问题吗? MultiThreadedHttpConnectionManager是否使用无锁机制来实现其线程安全策略? 如果10个线程正在使用global_c,其他40个线程是否会被locking? 或者,如果在每个线程中创build一个HttpClient实例,但明确释放连接pipe理器,会更好吗? [方法B] MultiThreadedHttpConnectionManager connman […]

已弃用的Java HttpClient – 有多难?

所有我试图做的是下载一些JSON和反序列化到一个对象。 我还没有下载JSON。 几乎每一个HttpClient的例子,我可以find,包括那些在Apache网站上看起来像… import org.apache.http.client.HttpClient; import org.apache.http.impl.client.DefaultHttpClient; public void blah() { HttpClient client = new DefaultHttpClient(); … } 但是,Netbeans告诉我, DefaultHttpClient已经被弃用了。 我已经试过使用谷歌searchDefaultHttpClient deprecated和其他许多变化,因为我能想到,找不到任何有用的结果,所以我明显缺less的东西。 什么是正确的Java7方式来下载网页的内容? 是否真的没有体面的Http客户端作为语言的一部分? 我觉得很难相信。 我的Maven依赖这是… <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>LATEST</version> <type>jar</type> </dependency>

Android上的Apache HttpClient产生CertPathValidatorException(IssuerName!= SubjectName)

我正在开发一个Android应用程序访问一些battle.net( https://eu.battle.net )帐户数据(魔兽世界),我使用org.apache.http.client.HttpClient来这样做。 这是我正在使用的代码: public static final String USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 (.NET CLR 3.5.30729)"; public static class MyHttpClient extends DefaultHttpClient { final Context context; public MyHttpClient(Context context) { super(); this.context = context; } @Override protected ClientConnectionManager createClientConnectionManager() { SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), […]

如何在Android上启用Apache公共HttpClient日志logging

为了在日常的Java应用程序中启用apache公共日志HttpClient我使用了: System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog"); System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true"); System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug"); System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug"); 但在Android上我看不到LogCat中的日志。 我错过了什么?