草庐IT

HTTPUrlConnection

全部标签

android - HttpURLConnection:java.lang.IllegalStateException:已经连接

我正在尝试使用HttpURLClient将一些POST数据发送到使用HttpRestClient类的服务器,如下所示。执行时conn.setDoInput(true);我明白了java.lang.IllegalStateException:Alreadyconnected我卸载了应用程序,但仍然出现同样的错误。在我见过的所有示例中,openConnection在setDoInput之前被调用。如果,正如它的名字所暗示的那样,openConnection打开一个连接,它不应该在`setDoInput之前使用,对吧?我错过了什么?也许在某些时候它在执行disconnect之前崩溃了。这可能

android - httpurlconnection 在 Android 4.2 上非常慢

我可以使用httpurlconnection成功连接、发送和接收数据。但是在我的手机(三星s4、4.2)和android4.2模拟器上加载所有数据需要很长时间。但是在Android2.3.x模拟器上加载图片需要将近1-2秒(非常快)。在http连接上比我的galaxys4更快。我正在使用AsyncTask,我的代码在两者上都运行良好。它在android4.2s上很慢。我尝试删除chunkedStreaming、保持Activity状态、更改超时值等,但仍然没有成功这是我的代码HttpURLConnectionurlConnection=(HttpURLConnection)url.op

android - 强制 HttpURLConnection 使用移动网络并回退到 WiFi

我的应用程序使用HttpURLConnection连接到我的REST服务。我记录错误并注意到偶尔会发生的情况是用户获得了WiFi连接但它有代理。例如,那些将您重定向到付费页面然后让您使用互联网的机场wifi。我的代码不遵循重定向。我真正想要的是忽略WiFi的存在并强制通过3G/4G/E进行通信。我如何在Android上执行此操作? 最佳答案 切换到移动网络:一旦检测到代理,就会弹出一个对话框,告诉用户您的应用无法使用该网络,因此您要切换到移动网络。您可以使用ConnectivityManager类切换到移动网络。Connectivi

API 级别 9 及更高版本的 AndroidHttpClient 与 HttpUrlConnection

API级别9(Gingerbread)哪个更好,为什么?使用AndroidHttpClient而不是HttpUrlConnection有什么好处吗?我们将不胜感激任何帮助或指导。 最佳答案 Googledoesn'trecommendusingAndroidHttpClient,仅适用于非常旧的Android版本。但是在SO的很多问题中可以看到,HttpURLConnection并不好用。它非常低级并且没有舒适的界面。您必须非常了解它的内部工作原理,如果运气好的话,当您以错误的方式使用它时,您会遇到异常。出于这个原因,已经为Andr

android - 如何在 Android 上停止 HttpURLConnection 连接

我使用AsyncTask连接URLPath,如下代码所示。@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.left_list);Buttonbtn=(Button)findViewById(resid);btn.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//howtostopconnect}});newCo

android - Android 上的 HttpURLConnection 失败

(已解决-请参阅下面的评论)我有一个实现多部分文件上传的类。该代码适用于我尝试过的每个Java客户端(Android除外),并且它是我的Android应用程序中唯一无法与我的后端服务配合使用的HTTP请求代码。连接responseCode是“-1”所以这里发生了一些非常讨厌的事情。Apache访问或错误日志中没有任何条目显示,似乎请求永远不会脱离android平台。代码通过连接写入正确,但在连接读取时挂起,超时然后返回。真实手机和模拟器的行为相同。有人知道在Android中发布多部分文件时需要注意的问题吗?我包括了下面的类(class)(制作了一些小的卫生模块)所以你可以看到我在做什么

Android HttpURLConnection 抛出 EOFException

这是最简单的问题。我使用HttpUrlConnection对象通过代理创建到我的服务器的HTTPS连接。我的代理关闭了连接,但我的代码仍然尝试重用相同的连接。所以我得到了EOFException。我该如何处理这种情况? 最佳答案 我建议禁用http.keepalive系统属性。documentation的性能部分指示套接字连接将在可能的情况下被重用。听起来它正在尝试重用连接,但代理已经关闭了它。在thispost,Darrell还表示更改系统属性解决了他的问题。System.setProperty("http.keepAlive",

java - HttpUrlConnection 和 setReadTimeout() 方法

我想知道何时以及为何引发“java.net.SocketTimeoutException读取超时”。URLobj=newURL(url);HttpURLConnectioncon=(HttpURLConnection)obj.openConnection();con.setConnectTimeout(5000);con.setReadTimeout(421);intresponseCode=con.getResponseCode();InputStreamis=con.getInputStream();System.out.println("Inputstreamdone");Fil

Java HttpURLConnection 和池

在阅读了有关JavaHttpURLConnection的各种文档之后,我仍然很困惑它执行何种池化以及如何处理连接。例如下面的代码URLurl=newURL(someUrl);HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();OutputStreamos=connection.getOutputStream();InputStreamis=connection.getInputStream();/**Writesomethingtoosandflush*//**Readfromis*/os.close(

java - 为什么 android HttpURLConnection 不发回 FIN?

我想从我的Android应用程序将数据发布到服务器并获取响应,处理它然后发回并获取另一个请求。由于它是持续通信,直到不再响应进程,我更喜欢使用HttpURLConnection和http.keepAlive=true.我尝试重用套接字是成功的,但是我面临的问题是:我正在尝试从客户端(Android应用程序)启动关闭,因为如果终止从服务器开始,然后服务器转到TIME_WAIT状态。而且我不希望我的服务器进入那种状态,所以我更喜欢我的客户启动终止。但不幸的是我找不到合适的方法来使用HttpURLConnection经过数小时的搜索,我放弃了上述尝试,并且开始从服务器关闭基于keepaliv