|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|
Synapse Delphi XE5 под мобильные приложения04.06.2017, 06:29. Показов 4184. Ответов 16
Метки нет (Все метки)
Здравствуйте!
Пишу мобильное приложение на Delphi XE5. Indy использую очень редко, в основном пользуюсь synapse. У меня в потоке отправляются post и get запросы, для этого я использую synapse. Дело в том, что приложение я почти дописал и при отладке в windows всё работает. Но когда я компилирую проект под Android, Delphi XE5 мне постоянно говорит, что synapse не найден. Использовал имеющийся у меня synapse, скачивал несколько разных версий - не хочет компилировать. Прошу направить меня в нужную сторону, переписывать проект под Indy очень не хочется.
0
|
|
| 04.06.2017, 06:29 | |
|
Ответы с готовыми решениями:
16
Разработка под iOS Delphi XE5 О работе приложения Text Layout Demo из дистрибутива Delphi XE5 Не увеличивается ширина ProgressBar'a (Delphi XE5 разработка под Android) |
|
|
|
| 04.06.2017, 08:09 | |
|
если вы планируете писать под мобилы, то вам нужна версия не ниже Seattle и не выше (на тек. момент) Berlin Upd 2
так что уже тут вас ждет разочарование а в указанных версиях есть родной нативный THttpClient, на который и нужно все переписать это несложно
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|
| 04.06.2017, 22:22 [ТС] | |
|
Спасибо за ответ. Все говорят, что это очень глючный и тяжёлый компонент, особенно при использовании его в потоке, по этому мне не хотелось его использовать. Ну раз сказали, придётся переписывать. Когда закончу, возможно отпишусь.
0
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|
| 05.06.2017, 23:52 [ТС] | |
|
И в правду, я с чего взял, что речь идёт о TIdHTTP. Даже уже переписал весь проект под него и у меня возникла проблема с ssl на android. Сейчас чуть-чуть одумался, установил Delphi XE8 и стал переписывать используя THttpClient. И меня появилась новая проблема, я не знаю, как добавить свои заголовки, например "X-Requested-With: XMLHttpRequest". Не подскажите?
0
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|
| 06.06.2017, 11:16 [ТС] | |
|
Спасибо, установил Delphi 10, почти всё работает. Почему-то не удаётся изменить Content Type при запросе. Изменяю так:
"HTTPClient.ContentType := 'application/json';", а он как был "application/x-www-form-urlencoded; charset=UTF-8", так и остаётся. Проверяю этой программой - "http analyzer". Может я не правильно задаю ContentType или здесь есть свои хитрости?
0
|
|
|
|
|
| 06.06.2017, 12:38 | |
|
всегда есть хитрости.
нужно трассировать в отладчике сам вызов Get или Post, и смотреть, где переустанавливается значение ContentType исходники же в наличии Может, нужно httpClient.Request.ContentType ? наизусть не скажу
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
||||||
| 06.06.2017, 17:28 [ТС] | ||||||
|
Ну, не знаю. Не удаётся мне Content Type изменить.
Использую примерно такой код:
0
|
||||||
|
|
|||||||||||
| 06.06.2017, 21:31 | |||||||||||
2
|
|||||||||||
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|
| 08.06.2017, 21:09 [ТС] | |
|
Спасибо за пример кода, но Content Type не изменяется. Может во мне проблема?
0
|
|
|
|
|||||||||||
| 08.06.2017, 21:35 | |||||||||||
|
определенно))
чуть изменим коды
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|||||||||||||||||||||
| 09.06.2017, 11:11 [ТС] | |||||||||||||||||||||
|
Я в php не селён, но используя:
И используя этот код:
И по этому, даже если вы в делфи укажите такой Content-Type:
Я посмотрел в программе http analyzer, какие заголовки отправляет делфи, и он всё равно отправлял "Content-Type: application/x-www-form-urlencoded; charset=UTF-8"
0
|
|||||||||||||||||||||
|
|
|
| 09.06.2017, 12:28 | |
|
вообще, сервер должен анализировать заголовок и отправлять данные в запрошенном формате
если умеет/хочет если сервер точно уверен, что должен вернуть json, можно ничего не разбирать и просто приделать нужный заголовок, как я и сделал сейчас по поводу что за заголовки отправляет делфи, нужно действительно покопаться в коде. нет пока возможности
1
|
|
|
|
||||||||||||||||
| 10.06.2017, 21:06 | ||||||||||||||||
Сообщение было отмечено zolotarevsky как решение
Решение
смотрим в код
немного смеёмся )) они вообще не используют введенные заголовки )))) но если вызывать вот этот метод пост
итого сделал вот так: Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
результат
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 10
|
|||||||||||
| 13.06.2017, 11:53 [ТС] | |||||||||||
|
Спасибо, за приведенный код, но всё оказалось на много проще.
Обратился я к форуму stackoverflow и мне там сказали: У HttpClient есть 4 перегруженных (overload) Post метода:
Таким образом, вам нужно использовать первый или третий метод, если вы хотите отправлять сырые данные с указанием своего Content-Type. Пример, с использованием третьего метода:
0
|
|||||||||||
|
|
|
| 13.06.2017, 15:17 | |
|
ну я это и написал собственно
нужно использовать Post(url, stream, stream, headers) но это совсем не очевидно данные "как есть" это ни разу не описание формата данных. по стандарту к ним всяко должен идти заголовок и заменять его своим - это как-то криво совсем. а не использовать то что вводит программист в CustomHeaders вообще - это дикий треш )))
0
|
|
| 13.06.2017, 15:17 | |
|
Помогаю со студенческими работами здесь
17
вакансия программиста под мобильные приложения и не только Как с помощью Rad Studio XE5 писать приложения под Android? Delphi XE5 разработка под Android. Как получить видео с AUX входа? Посоветуйте хорошую лит-ру для того,чтобы научиться писать приложения под мобильные устройства Как "растянуть" шаблон под мобильные приложения? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|