I am using simulator BB 8900. I am trying to connect to url and get response code 302.What does it mean? Here is my code snippet:
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
.....
connection = (HttpConnection)Connector.open(url);
responseCode = connection.getResponseCode();
An HTTP 302 is a 'temporary redirect'. You need to handle it.
As per the standard, if you get a 302 response, the response will contain a 'Location' header field with the redirect:
Client request:
GET /index.html HTTP/1.1
Host: www.example.com
Server response:
HTTP/1.1 302 Found
Location: http://www.redirected-address.example.com/
You need to extract the new URL from the response. (Use getHeaderField("Location")
to do this). Then execute the same method on the new URL you got.
Two other points:
Since this is a 'temporary' redirect, you cannot store this new URL. You should keep using the old one, and if it returns a 302, then use whatever URL is in 'Location'.
If you are not executing a GET or HEAD, you shouldn't do the redirect automatically. Instead ask for user intervention. The RFC requires this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With