Найти - Пользователи
Полная версия: Ошибка отправки get запросов в kivy
Начало » Mobile Python » Ошибка отправки get запросов в kivy
1
Goodluck
Здравствуйте, начал изучать kivy для приложения на android по мониторингу автомобилей на линии в такси, в нашем ПО есть открытое API по нему я формирую запросы и получаю ответы и всё нормально работает в оболочке linux, пакую всё в apk файл запускаю его и белый экран по дебагу я вижу
 requests.exceptions.ConnectionError: HTTPSConnectionPool(host='192.168.2.210', port=8089): Max retries exceeded with url: /common_api/1.0/ping (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xd0e06070>: Failed to establish a new connection: [Errno 13] Permission denied'))
я так понимаю приложение не имеет доступ до сервера, тел по wifi находиться в локальной сети там где и сервер куда я шлю запросы. Вот код для обычного пинг запроса
 import requests
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
class TestApp(App):
    def build(self):
        otvet = requests.get('https://192.168.2.210:8089/common_api/1.0/ping',verify=False)
        x = otvet.json()
        gl = GridLayout(cols=1)
        gl.add_widget(Label(text=str(x)))
        return gl
TestApp().run()
Проверяю всё норм вижу ответ на экране, но в приложении ни как зависает с ошибкой и всё. Подскажите пожалуйста что не так.
JOHN_16
пока специалисты в Андроидах не пришли я спрошу
1) пробовали ли вы делать запрос на другой сервер? Без https ?
2) В телефоне для приложения не заблокирован доступ к wifi или интернету?
3) Наверняка в API Android есть метод ждя проверки доступности приложением выхода в сеть / интерент. Можно пойти по этому пути. Обычно приложение способно понять что интернета нету, и выдать сообщение пользователю об этом.

P.S. Permission denied это не “приложение не имеет доступ до сервера”, это приложение не имеет доступ к ресурсам системы. По аналогии с linux:
 j$ python3
>>> import os
>>> os.listdir('/root')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: '/root'
>>> 
Goodluck
JOHN_16
пока специалисты в Андроидах не пришли я спрошу 1) пробовали ли вы делать запрос на другой сервер? Без https ?2) В телефоне для приложения не заблокирован доступ к wifi или интернету?3) Наверняка в API Android есть метод ждя проверки доступности приложением выхода в сеть / интерент. Можно пойти по этому пути. Обычно приложение способно понять что интернета нету, и выдать сообщение пользователю об этом. P.S. Permission denied это не “приложение не имеет доступ до сервера”, это приложение не имеет доступ к ресурсам системы. По аналогии с linux:
1. Пробовал на другой аналогичный сервер, тоже самое.
2. В телефоне в настройках разрешений вообще нет пункта доступ к интернету у этого приложения только доступ к файлам.
3. Видимо надо где то указать что приложение имеет доступ в интернет, в java в манифесте это указывается
Goodluck
решил проблему, в файле buildozer.spec надо раскомментировать строку
 # (list) Permissions
android.permissions = INTERNET
вроде логично, но ни где информации не попадалось
kompilikus
Здравствуйте. Сейчас в приложениях на Kivy по прежнему есть проблемы с интернет опциями или уже пофиксили? А то год назад писали, что раскомментирование “android.permissions = INTERNET” не помогало.
ZerG
kompilikus
Здравствуйте. Сейчас в приложениях на Kivy по прежнему есть проблемы с интернет опциями или уже пофиксили? А то год назад писали, что раскомментирование “android.permissions = INTERNET” не помогало.
Может спросите у разработчиков КИВИ?
kompilikus
Да, конечно. Уже получил ответ .
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB