well this does seem to point to a long initialisation period for the
Apache library. i don't have anything informed to suggest on the
protocol error - maybe the Apache library supports more SSL protocols
than the regular Java network library? dunno. checking versions etc
couldn't hurt.
there's a bunch of redirects going on with that
https://mip.sunrise.ch URL, btw. something somewhere might be falling
over that.
hth
Yeah probably it has something to do with all the initialization
stuff...I just tried *not* using the Apache HttpClient, with the
following code:
String myHttpsUrl = "<https://mip.sunrise.ch/>https://mip.sunrise.ch";
URL url = new URL(myHttpsUrl);
URLConnection urlConnection = url.openConnection();
BufferedReader br = new BufferedReader(new
InputStreamReader(ucon.getInputStream()));
String line;
StringBuilder htmlContent = new StringBuilder();
while ((line = br.readLine()) != null) {
htmlContent.append(line);
}
(I'm reading the whole content just to make sure my request has been
executed and fetched..).
Anyway....it seems much faster!! (first request around 2 seconds,
compared to the HttpClient's 6, 10 or 20 seconds).
However there is a problem: with the current https url it actually
doesn't work (it worked for other https addresses). I get back the
following error (with the url
"<https://mip.sunrise.ch/>https://mip.sunrise.ch"):
java.io.IOException: SSL handshake failure: Failure in SSL library,
usually a protocol error
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
(external/openssl/ssl/s23_clnt.c:585 0xaf589f78:0x00000000)
at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native
Method)
at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:308)
at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:173)
at
org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection$HttpsEngine.connect(HttpsURLConnection.java:408)
at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.sendRequest(HttpURLConnection.java:1227)
at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequestInternal(HttpURLConnection.java:1554)
at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.doRequest(HttpURLConnection.java:1547)
at
org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1055)
at
org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.getInputStream(HttpsURLConnection.java:257)
It seems like an ssl version error...mmmm....
Maybe I have to specify explicitly this version somewhere? Or maybe
some certificates? :S
If anyone has an idea please let me know :)
Thanks everyone!
Yuvi
On Tue, Jan 26, 2010 at 8:29 PM, Jason Proctor
<<mailto:[email protected]>[email protected]>
wrote:
SSL requires a good chunk of crypto code. maybe its initialisation &
code-loading time is causing the delay on first use?
one way to find out is to write something as bare-bones as possible
(ie without the Apache HTTP library, which is large and complex) and
profile it to see where the time is going.
Hi
we're experiencing the same thing - pretty much identical code
initial connection can take up to 30secs but subsequent connections
are only a sec or two
have reproduced on both 1.5 and 2.0 emulators as well as on devices
HTC Hero, Motoral Cliq and Droid
if we change the URL back to HTTP behavior is expected i.e a second or
two
Ronan
On Jan 23, 11:31 pm, Yuvi
<<mailto:[email protected]>[email protected]> wrote:
Hi!
I'm developing my first android app, which needs to make some http and https
requests.
I'm using the apache HttpClient. So far everything works fine...but I
noticed something strange:
almost every time I start the app, the first request is taking really a long
time, while the next requests take much less. I tried executing the same
request several times in a row, and with the same result.
Here's part of the code I use to make an http request:
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 30000);
HttpConnectionParams.setSoTimeout(httpParams, 30000);
client = new DefaultHttpClient(httpParams);
try {
HttpGet getRequest = new HttpGet
("<https://mip.sunrise.ch>https://mip.sunrise.ch");
HttpResponse response = client.execute(getRequest);
// ....
} catch (Exception e) { }
I tested the app on the various versions of the emulator, and on the htc
hero (android 1.5). With the emulator with android 2.0 it seems that problem
doesn't occur...mmm? hehe
Someone has an idea of what am I doing wrong?
Thanks!!
Yuvi
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to
<mailto:[email protected]>[email protected]
To unsubscribe from this group, send email to
<mailto:android-developers%[email protected]>[email protected]
For more options, visit this group at
<http://groups.google.com/group/android-developers?hl=en>http://groups.google.com/group/android-developers?hl=en
--
jason.vp.engineering.particle
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to
<mailto:[email protected]>[email protected]
To unsubscribe from this group, send email to
<mailto:android-developers%[email protected]>[email protected]
For more options, visit this group at
<http://groups.google.com/group/android-developers?hl=en>http://groups.google.com/group/android-developers?hl=en
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
<http://groups.google.com/group/android-developers?hl=en>http://groups.google.com/group/android-developers?hl=en
--
jason.vp.engineering.particle
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en