powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / android клиент для web сайта
3 сообщений из 3, страница 1 из 1
android клиент для web сайта
    #39583101
nikomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разрабатываю 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
android клиент для web сайта
    #39583252
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь echo $_SERVER['REQUEST_METHOD']
...
Рейтинг: 0 / 0
android клиент для web сайта
    #39631211
restored
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Метод GET, а посылаешь payload. Найди нормальный пример на гитхабе, а это, правая педаль, дилит.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Разработка под мобильные платформы [игнор отключен] [закрыт для гостей] / android клиент для web сайта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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