HTTP GET-запрос в Kotlin / Android Studio - PullRequest
0 голосов
/ 30 марта 2020

У меня возникла проблема с кодированием моего первого Android -App.

Я хочу построить систему входа в приложение на основе моего существующего веб-сервера / веб-интерфейса.

Я использую Fuel-Library, и, насколько я могу судить, запросы GET работают нормально. Проблема в ответе. Когда я его распечатываю, все видит некоторую информацию о самом запросе, но напечатанное эхо от PHP нигде не появляется.

Распечатанный ответ:

I/System.out: <-- 200 https://...hidden :)
I/System.out: Response : OK
    Length : -1
    Body : test
    Headers : (11)
    Connection : Keep-Alive
    Date : Mon, 30 Mar 2020 18:06:39 GMT
    X-Android-Selected-Protocol : http/1.1
    Server : Apache
    X-Powered-By : PHP/7.3.5, PleskLin
    Content-Type : text/html; charset=UTF-8
    X-Android-Received-Millis : 1585591597000
    Vary : Accept-Encoding
    X-Android-Response-Source : NETWORK 200
    X-Android-Sent-Millis : 1585591596960
    Keep-Alive : timeout=5, max=100

То же самое происходит с запросами POST.

Вот мой Kotlin -Код:

val url = "https://myserver.com/testlogin.php?username=".plus(username.toString()).plus("&password=").plus(password.toString())
    url.httpGet().responseString{
        request, response, result ->
            Toast.makeText(this@MainActivity, result.toString(), Toast.LENGTH_LONG).show()
    }

И код PHP на веб-сервере:

<?php $username = $_GET["username"]; $password = $_GET["password"]; echo $username; ?>

Я ищу больше 7 часов. отправить справку

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Попробуйте это

  url.httpGet().responseString { request, response, result ->
        when (result) {
            is Result.Failure -> {
                val ex = result.getException()
                println(ex)
            }
            is Result.Success -> {
                val data = result.get()
                println(data)
            }
        }
    }

Официальная документация

0 голосов
/ 30 марта 2020

Я только что нашел проблему:

val data = result.get() println(data)

печатает строку ответа файла php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...