Articles of Apache共享

android HttpResponse总是第二次被调用时死掉

我有一个奇怪的故障,我无法进行两次相同的网络通话。 HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); try { HttpResponse response = client.execute(post, new BasicHttpContext()); 我第一次运行网络调用它工作得很好,返回数据。 我第二次运行网络调用(我在这里运行了断点)它到达HttpResponse对象,运行网络调用,但随后立即跳转到IOException catch。 post对象每次都有相同的数据,所有的cookie都包括在内。 我不在任何了解服务器的人(运行drupal),但它似乎是一个服务器问题。 有人能说清楚为什么会这样吗? 为什么我会被禁止第二次获取数据? 为了进一步了解事物,如果我突破响应对象,我可以看到它可能返回””而不是数据。 如果这有帮助的话 05-15 11:22:34.612: E/(1094): ObjectService 05-15 11:22:34.612: E/(1094): org.apache.http.client.ClientProtocolException 05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:557) 05-15 11:22:34.612: E/(1094): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 05-15 11:22:34.612: E/(1094): at com.fivepoints.service.ObjectService.getObject(ObjectService.java:121) 05-15 11:22:34.612: E/(1094): at […]

无法从Android手机访问Apache服务器

我在Windows 7 PC上运行了WAMP服务器。 我希望从我的Android手机浏览器访问它。 示例:我的服务器上的HTML页面( localhost/example.html )应该可以在Android手机的Web浏览器上访问( 192.168.1.xx/example.html ) 两个设备的IP都在192.168.1.xx的相同范围内 我的Apache的httpd.conf包含Listen 80 它可以从同一网络上的其他PC访问(家庭局域网) Windows防火墙已关闭。 编辑:哇! 它适用于我的办公室WLAN。 任何人都可以解释可能是什么原因?

MITM的强制门户页面

我有一台微型计算机,用于在客户登录Wi-Fi网络时向客户显示门户页面。 问题是,由于某些原因,他们没有从手机/电脑那里获得通常的popup窗口,就像我使用我的路由器一样。 我正在通过将所有DNS请求传输到本地网络(即10.0.0.2)来完成整个过程。 当进入浏览器时,他们获得了门户页面,但是行为丢失了。 (连接到Wi-Fi然后会出现一个自动popup窗口,说明您需要登录网络)。 在本地apache上我有一个简单的index.php文件,状态代码为401(未授权)。 微型计算机通过以太网端口连接到路由器,我完全控制了路由器,但我希望从微型计算机本身管理强制网络门户,这就是为什么我不使用基于路由器的强制网络门户。 塔尔。

如何在Android上升级Apache HttpClient版本

我已经将Apache的 HttpClient 4.3.3添加到我的build.gradle文件中, 如Apache所述 ,但我的应用程序的大小没有变化。 因此,我很确定,虽然我的IDE将httpclient-android-4.3.3显示为外部库,但我的应用程序实际上并没有包含和使用它。 我试图根据这篇文章validationhttp客户端的版本,但VersionInfo.loadVersionInfo()一直返回null。 我的问题归结为: 如何validation我正在使用的Apache HttpClient的版本? 如何使我的应用程序使用我在Gradle中指定的版本? 我应该在我的gradle构建中排除Android HttpClient吗?

android studio:无法解析HttpClientBuilder

我在Android工作室面临一个奇怪的问题。 我正在使用apache库来制作一些http请求,我需要更改 org.apache.http.impl.client.DefaultHttpClient; 不赞成使用 org.apache.http.impl.client.HttpClientBuilder; 但android工作室没有find那个包。 我能怎么做?

如何将HttpResponse下载到文件中?

我的Android应用程序使用API​​发送多部分HTTP请求。 我成功地得到了这样的响应: post.setEntity(multipartEntity.build()); HttpResponse response = client.execute(post); 响应是电子书文件(通常是epub或mobi)的内容。 我想将它写入具有指定路径的文件,让我们说“/sdcard/test.epub”。 文件可能高达20MB,所以它需要使用某种流,但我可以无法绕过它。 谢谢!

MultipartEntityBuilder将图片发送到铁路服务器

我正在尝试将MultipartEntityBuilder发送到我的Rails服务器。 但是,当我尝试构建它时崩溃并给我错误 03-25 09:44:50.001 W/System.err﹕ java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: No static method create(Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/entity/ContentType; in class Lorg/apache/http/entity/ContentType; or its super classes (declaration of ‘org.apache.http.entity.ContentType HttpPost httpost = new HttpPost(url); MultipartEntityBuilder entity = new MultipartEntityBuilder.create(); entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); for(int index=0; index < nameValuePairs.size(); index++) { ContentBody cb; if(nameValuePairs.get(index).getName().equalsIgnoreCase("File")) { File file = new File(nameValuePairs.get(index).getValue()); FileBody isb = new FileBody(file); entity.addPart(nameValuePairs.get(index).getName(), isb); […]

在HttpURLConnection中设置setChunkedStreamingMode无法将数据传递到服务器

我的dev服务器上的服务器版本如下: Apache / 2.2.21(Win32)mod_fcgid / 2.3.6 我一直在测试HttpURLConnection因为我的项目需要简单的流媒体function。 我已经阅读了@BalusC关于如何使用该类的精彩概要。 使用java.net.URLConnection来触发和处理HTTP请求 我目前遇到的麻烦是设置setChunkedStreamingMode 。 无论我将它设置为我的流,当我的服务器api方法/连接被调用/制作时, 它似乎没有进入服务器 ,数据流是空的。 但是,如果我删除它,它工作正常。 我见过另一个有类似问题的人: Java / Android HttpURLConnection setChunkedStreamingMode不适用于所有PHP服务器 但没有真正的解决方案。 我无法将其设置为setFixedLengthStreamingMode因为内容(json)的长度是可变的。 这不行。 我可能会传输非常大量的数据,因此无法将数据存储在内存中。 我的问题是,我怎样才能让setChunkedStreamingMode发挥得更好? 它是服务器设置问题还是可以在代码中修复? 编辑我现在已经在我的生产服务器上测试了我的代码,它没有问题。 但是,我仍然想知道为什么我本地计算机上的Apache服务器出现故障。 任何帮助仍然非常感谢。

URLConnection低级字节计数

我试图通过URLConnection获得最低级别的字节计数。 我已经计算了两个流传递的数据,来自Apache Commons IO的CountingInputStream和CountingOutputStream ,但我到达的字节数等于我发送的正文大小+我收到的响应正文大小。 在HttpClient中,我有一个MeasuringClientConnManager ,我认为它是一个更低级别的字节计数。 为了获得最准确的值,我使用TrafficStats将这些库的计数与这些方法进行比较: public static long getCurrentRx(Context context){ int uid = context.getApplicationInfo().uid; return TrafficStats.getUidRxBytes(uid); } public static long getCurrentTx(Context context){ int uid = context.getApplicationInfo().uid; return TrafficStats.getUidTxBytes(uid); } public static long getCurrentNetworkUsage(Context context){ return getCurrentRx(context) + getCurrentTx(context); } public static long getDiffNetworkUsage(Context context, long previousNetworkUsage){ return getCurrentNetworkUsage(context) – previousNetworkUsage; } 使用这些方法,我获得了比使用HttpClient更接近URLConnection的值。 […]

如何从Android中的手机间隙文件上传中读取分块数据

我们正在尝试将video文件从phonegap移动应用上传到网络服务器。 在iPhone中一切都很好,但在Android上,数据是以块的forms发送的,我们的服务器应用程序(php)无法处理它。 //phonegap var options = FileUploadOptions(); options.chunkedMode = true; //default 我们尝试将chunkedMode变为false。 这适用于较小的文件,任何超过1mb的videoAndroid手机崩溃。 (这就是他们默认打开chunkMode的原因)。 我们的问题是如何使用PHP读取上传的块数据? Apache中是否有设置需要打开以读取此数据?