0. Alexander.Shvets 210 14.08.12 19:39 Сейчас в теме

Отправка HTTP-строки с обработкой ответа

Отправка HTTP-строки с обработкой ответа для реализации вызова PHP-скрипта, к которому обращался HTTP-ссылкой.
Вызов InternetExplorer.Aplications не прельщало. По этому использовался метод GetCOMObject("", "Microsoft.XMLHTTP") с обработкой ответа.



Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Angeros 15.08.12 04:07 Сейчас в теме
А вот "- общение с ГеоКодером и Картами(Гугл, Яндекс)" Это уже интересно. Поделитесь обработкой и ALL?!
3. Alexander.Shvets 210 15.08.12 11:35 Сейчас в теме
(1) Angeros,
Допилю, сдам проект, получу за него денюжку и только тогда расшарю. До этого момента - сам понимаешь, не имею права ;)

Но если интересует что-то конкретное - пиши, советом помогу ;)
2. МимохожийОднако 129 15.08.12 07:44 Сейчас в теме
Любопытная штучка. Однажды нужна была такая задачка. Надо посмотреть.
4. Magister 133 15.08.12 23:37 Сейчас в теме
А в чем глубокий смысл использования COM-объекта?
В платформе есть родные методы для работы с HTTP/HTTPS, которые отлично работают в большинстве ситуаций.
Разве что если нужно отправлять большие файлы - десятки мегабайт - тогда у меня работало нестабильно. А небольшие - уже больше 2-х лет в продакшене, запросы каждые несколько минут. Никаких проблем.
BigB; pumbaE; +2 Ответить
5. markers 241 16.08.12 05:48 Сейчас в теме
(4) Magister, Согласен, получай XML и параси его средствами 1С.
6. Alexander.Shvets 210 16.08.12 20:24 Сейчас в теме
(4) Magister,

Вы сами и ответили на свой вопрос. В стабильности и универсальности.

Надо что-то просто отправить (дать пинок скрипту) - без проблем...
Необходимо в ответе получить объект - получаем бинарный код, который засовываемым в XML.
без ПОСТ и ФТП.

Как по мне - так почти на все случаи жизни... Тем более работает быстро.


(5) markers,

Если нужно одновременно общаться с несколькими ресурсами (отправить, получить результат, потом полученный результат отправить дальше и т.д.) - предложенный метод поможет избежать "считалок" и "держалок" в коде.

получай XML и параси его средствами 1С,

собственно это, можно сказать, я и делаю ;)
7. Magister 133 16.08.12 21:53 Сейчас в теме
(6) Причем тут FTP? Платформенный метод глючил у меня только при попытке отправить файл размером около 70 Мб. Больше с ним проблем абсолютно никаких не наблюдалось.

А про "считалки" и "держалки" не понял.
9. Alexander.Shvets 210 17.08.12 11:40 Сейчас в теме
(7) Magister,

А про "считалки" и "держалки" не понял.

Если интересуют основы XMLHTTP - почитайте тут. (внешний источник)
"считалки" и "держалки" - это аналог асинхронного запроса в 1С, мы возвращаем управление 1С-ой когда получаем обратный ответ.
8. ander_ 17.08.12 08:55 Сейчас в теме
(4) Magister,
Поправьте, если я ошибаюсь, но "родными" 1с-ными методами нельзя получить ответ в виде строки. Только файл.
10. Magister 133 17.08.12 14:23 Сейчас в теме
(8) Да, только в файл. Но я в этом не вижу проблемы - файл можно прочитать и удалить :)

(9) Спасибо, что это такое я знаю. А вот про асинхронность - т.е. вы хотите сказать, что используете XMLHTTP из 1С асинхронно? Как тогда ловите событие? Я способов, кроме использование ВК, не вижу.
11. ander_ 17.08.12 15:05 Сейчас в теме
(10) Magister, хорошо если сервер отвечает файлом. А если строкой? Во всяком случае у меня не получилось HTTPСоединение заставить работать в таком режиме. Хотя не исключаю что возможно я что-то не так делал.
13. Magister 133 18.08.12 00:44 Сейчас в теме
(11) У меня отвечает именно строкой. И всё отлично работает. Наверное, вы таки что-то не так делали.

(12) Асинхронность - это да, только средствами 1С реализовать проблематично. Но, справедливости ради, ни разу не встречал задачи, в которой она была бы нужна. Что впрочем не означает абсолютной ненужности :)

И да, если уж использовать ВК - я бы взял что-то своё, например, использующее libcurl. И реализовал на NativeAPI. Чтобы и на сервере под Linux всё тоже работало.
12. Alexander.Shvets 210 17.08.12 15:56 Сейчас в теме
(10) Magister,
Так же использовал внешние. Досконально вопрос не изучал, но что то подсказывает, что реализовать можно и без компонент.

Но это, как мне нажиться - немного офтоп. Но все же спасибо за дискутивную тезу =)) Есть над чем поразмыслить.
Если припадет нужда асинхронно юзать XMLHTTP еще раз - попытаюсь реализовать в одном объекте. Если результат будет позитивный - обязательно поделюсь.
14. dima1c 26 20.08.12 16:22 Сейчас в теме
Плюсанул, сам так делал...
15. fixin 3880 22.08.12 10:49 Сейчас в теме
у этого COM-объекта, который заюзал автор, есть одно хорошее преимущество - можно назначить тайм-аут.
я сначала пробовал 1с-овский HTTPRequest, но из-за отсутствия тайм-аута порой тупо повисала 1с.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Специалист техподдержки 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Системный аналитик 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Полный день

Программист 1С
Москва
зарплата от 100 000 руб. до 200 000 руб.
Полный день

Тестировщик 1С
Москва
зарплата от 70 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 50 000 руб. до 80 000 руб.
Полный день