У меня есть ниже Android кода, это дает ошибку 400:Android HttpURLConnection дает 400 ошибку
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
MySQLiteHelper db = new MySQLiteHelper(this);
String token = db.getLoginToken();
conn.setRequestProperty("Authorization", "Bearer " + token);
OutputStream os = conn.getOutputStream();
os.close();
int responseCode=conn.getResponseCode();
Этот код дает мне код ответа 400. Я пытаюсь дублировать наш код приложений для iOS, который составляет:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString *authorization = [NSString stringWithFormat:@"Bearer %@",token];
[request setValue:authorization forHTTPHeaderField:@"Authorization"];
[request setURL:[NSURL URLWithString:professionalConnections]];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
И работает без проблем.
Почему код Android вызывает ошибку 400?
Проблема находится в данных, которые вы отправляете в этом случае URL. См.: [10 Определений кодов состояния] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html): 10.4.1 400 Плохой запрос Запрос не может быть понят сервером из-за неправильной формы синтаксис. – zaph
@ Lorenzo отредактировал, почему код android с ошибкой 400, или как я могу его отладить дальше? –