@Allsir

Почему GET запрос Android Java не отправляется?

Пытаюсь отправить данные серверу (чтобы он их добавил в базу данных MySQL) из Android-приложения с помощью GET-запроса. На сервере лежит php-файлик, который этот запрос обрабатывает, он точно рабочий, если просто вбить запрос в адресную строку браузера, то всё, что нужно, в базу данных добавляется.

Отправлять пытаюсь следующим образом, отправка происходит по нажатию на кнопку:

public void SendToBase() {
new Thread(new Runnable() {
public void run() {
try {
URL url = new URL("mysite.ru/test.php?test=Hi&testtest=305");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
MyTextView.setText("Отправлено");
} else {
MyTextView.setText("Ошибка");
}
} catch (Exception e) {
MyTextView.setText("Исключение");
e.printStackTrace();
}
}
}).start();
}

public void MyButton(View v) throws IOException {
SendToBase();
}


В итоге срабатывает исключение, судя по логам сервера, запрос просто даже не приходит туда. Разрешение на использование интернета у приложения есть. Подскажите, в чём может быть проблема
  • Вопрос задан
  • 744 просмотра
Решения вопроса 2
@Kot1que
пишу на жаве
Так выкладывайте текст исключения.

Возможно, проблема в url, попробуйте изменить на:
http://mysite.ru/test.php?test=Hi&testtest=305
Ответ написан
@Allsir Автор вопроса
Проблема решена, http в адресе заменено на https, теперь всё работает. Спасибо всем!
Исключение выдавало: java.io.IOException: Cleartext HTTP traffic to mysite.ru not permitted
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@fapsi
Безработный
Запросы с применением HttpURLConnection используйте исключительно через AsyncTask.
Пример
Ответ написан
@szanislo
Могу предположить что нужно выставить разрешение в файле манифеста
<uses-permission android:name="android.permission.INTERNET" />
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы