// edit (извините, я впервые прочитал ошибку 403)
отсоединенный от вашей проблемы с ошибкой 403, вы можете использовать HTTP-библиотеку Apache , которая включенав Android.У вас более приятный API, чем у java.net.HttpURLConnection
Вот пример
// imports from org.apache.http (http://hc.apache.org)
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.util.EntityUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpStatus;
int TIMEOUT = 2000;
String url= "http://your-url.com;
HttpParams httpParameters = new BasicHttpParams();
// Set the timeout in milliseconds until a connection is established.
HttpConnectionParams.setConnectionTimeout(httpParameters, TIMEOUT);
HttpClient hc = new DefaultHttpClient(httpParameters);
// which HTTP request: GET or POST ?
//HttpPost post = new HttpPost(url);
HttpGet get = new HttpGet(url);
HttpResponse rp = hc.execute(get);
// example to show the result as a string
String resultAsString= EntityUtils.toString(rp.getEntity());
Это не помогает напрямую, но в его комментарии правильно входит.Вы должны посмотреть заголовки, когда он работает (с Java) и сравнить их, когда вы используете Android.Параметры, которые вы получаете с помощью этой команды:
HttpResponse rp = hc.execute(get);
// compare the headerParams
Header[] requestHeader = get.getAllHeaders();
Header[] responseHeader = rp.getAllHeaders();