HTTP Redirect: 302 Found
i have a problem with a schedule provided by a university.
They provide a link in the form
When I click on that link in the Android Web Browser, ICSdroid is opened and the dialog “Kalender abonnieren” (subscribe to calendar) shows up. In the URL-field, the very same link appears, except the prefix
webdav://is replaced by
http://"So far so good.
Now when I confirm this URL with the arrow in the upper right corner, a little bubble shows up at the bottom of the screen saying
302 Found. Nothing else happens.
I can work around this problem by manually replacing
https://in the URL-field. So the http-response is just a redirect to the same URL with TLS enabled. But it would be great if ICSdroid could just figure this out by itself.
Thank you for your work.
Note that ICSdroid uses Android’s HttpURLConnection which doesn’t follow redirects to different protocols (http:// to https:// or vice versa).
Not redirecting from
http://is crucial for security, but in the other direction there’s no reason for not doing it.
HttpURLConnectioncan be replaced by a more sophisticated client like okhttp …
Thank you for the quick reply.
So this is more than just a quick 3-liner . Too bad.
A quick glance at the JavaDoc tells me that okhttp has only a variable
followSslRedirectswhich allows both redirect directions from HTTPS to HTTP and from HTTP to HTTPS. So this would not suffice your security requirements.
Also consider that it may be appropriate to differentiate between redirects that appear during initial ICSdroid configuration (when the link is clicked for the very first time) and redirects that appear during daily background activity of ICSdroid.
In my case above, it would suffice if the redirect is followed only in the initial configuration and the redirected target is saved as the new target URL.
This has been implemented in version 1.2 which has just been released.
Thank you very much.
Can you confirm that it works with 1.2? Then I can tag the thread as solved.
It works fine with version 1.2, problem solved.