Гость
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / android клиент для web сайта / 3 сообщений из 3, страница 1 из 1
12.01.2018, 10:46
    #39583101
nikomp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
android клиент для web сайта
Разрабатываю android клиент для web сайта.
Есть PHP скрипт

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<?php
    
    echo 'ssssss1';
	if ($_SERVER['REQUEST_METHOD'] == 'GET') {
	
	echo 'ssssss2';
?>
 



подключение из клиента выполняется из AsynTask таким образом:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
protected Void doInBackground(Context... params) {
        try {
            // Получим Context для вывода всплывающих сообщений
            for (Context context: params) {
               ctx=context;
            }

            Log.d("myLogs","doInBackground");

            String myURL = "http://mysite.ru/test.php";
            String parammetrs = "?task=Тестовая задача Android";
            byte[] data = null;
            InputStream is = null;

            try {
                // Базовая авторизация на сайте
                String loginPassword = "user:password";
                String encoded = Base64.encodeToString(loginPassword.getBytes(), Base64.DEFAULT);


                URL url = new URL(myURL);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();

                conn.setRequestProperty ("Authorization", "Basic " + encoded);
                conn.setRequestMethod("GET");
                conn.setDoOutput(true);
                conn.setDoInput(true);

                conn.setRequestProperty("Content-Length", "" + Integer.toString(parammetrs.getBytes().length));
                OutputStream os = conn.getOutputStream();
                data = parammetrs.getBytes("UTF-8");
                os.write(data);
                data = null;

                conn.connect();
                int responseCode= conn.getResponseCode();

                ByteArrayOutputStream baos = new ByteArrayOutputStream();

                Log.d("myLogs","responseCode="+Integer.toString(responseCode));

                if (responseCode == 200) {
                    is = conn.getInputStream();

                    byte[] buffer = new byte[8192]; // Такого вот размера буфер
                    // Далее, например, вот так читаем ответ
                    int bytesRead;
                    while ((bytesRead = is.read(buffer)) != -1) {
                        baos.write(buffer, 0, bytesRead);
                    }
                    data = baos.toByteArray();
                    resultString = new String(data, "UTF-8");
                } else {
                    resultString ="Ошибка responseCode="+Integer.toString(responseCode);
                }

            } catch (MalformedURLException e) {

                resultString = "MalformedURLException:" + e.getMessage();
            } catch (IOException e) {

                resultString = "IOException:" + e.getMessage();
            } catch (Exception e) {

                resultString = "Exception:" + e.getMessage();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }



(за основу взял код отсюда https://toster.ru/q/282594)

проблема в том, что в android клиенте получаю только первое сообщение 'ssssss1', следовательно проверка REQUEST_METHOD не проходит. Почему?

если отправить запрос с теми же параметрами из браузера, все работает.
...
Рейтинг: 0 / 0
12.01.2018, 12:51
    #39583252
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
android клиент для web сайта
Добавь echo $_SERVER['REQUEST_METHOD']
...
Рейтинг: 0 / 0
16.04.2018, 23:24
    #39631211
restored
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
android клиент для web сайта
Метод GET, а посылаешь payload. Найди нормальный пример на гитхабе, а это, правая педаль, дилит.
...
Рейтинг: 0 / 0
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / android клиент для web сайта / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]