|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Всем доброго времени суток и мирного неба над головой! Уважаемые форумчане снова нужна Ваша помощь. Имеется удаленный сервер, куда необходимо отправлять XML файлы, а затем получить от него ответ (тоже в XML). Из инструкции: Отправить запрос в УТМ (универсальный транспортный модуль) с использованием команды вида: curl -F ''xml_file=@client.xml'' http: //localhost:8080/opt/in/QueryPartner В данном руководстве для демонстрации взаимодействия с УТМ используется утилита командной строки curl. Для отправки в УТМ документов и получения документов из УТМ можно использовать вместо curl любое другое программное средство, в том числе разработанное для личных нужд, предназначенное для отправки http-запросов и получения ответов на http-запросы. Список запросов, отправленных на сервер, можно получить командой вида: curl -X GET http: //localhost:8080/opt/in В ответ на эту команду УТМ возвращает список запросов. Подскажите пожалуйста, как запустить эти команды из VBA: curl -F ''xml_file=@client.xml'' http: //localhost:8080/opt/in/QueryPartner curl -X GET http: //localhost:8080/opt/in ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 21:11 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Немного "подпилив" примеры из других тем, получил ответ с сервера с помощью команды Dim s As New WinHttp.WinHttpRequest url = " http://localhost:8080/opt/in" Debug.Print url s.Open "GET", url s.Send Debug.Print ReturnStr ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2015, 22:02 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Посмотрев на свежую голову вчерашний вопрос, понял что не в том направлении копал. Правильнее будет так: Имеется транспортный модуль (ТМ), который сам отправляет/получает запросы с сервера. Надо только ТМ отдавать команды. Пробую запустить через командную стоку Shell "cmd" & "curl - X GET http: //localhost:8080/opt/in", vbNormalFocus или Shell "cmd" & "curl -F ''xml_file=@client.xml'' http: //localhost:8080/opt/in/QueryPartner ничего не получается. Что делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 09:21 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Шаман, 1.создайте каталог на диске С: - "BatFile" 2. в этом каталоге создайте два файла "put.bat" и "get.bat" (можно воспользоваться Блокнотом (если в файлах не будет текста с русскими буквами)) 3. содержимое файла "put.bat" : cd c:\полный_путь_к_файлу_curl curl -F ''xml_file=@client.xml'' http: //localhost:8080/opt/in/QueryPartner (не надо ли в опции "xml_file" указывать полный путь к файлу "@client.xml" ?) 4. содержимое файла "get.bat" : cd c:\полный_путь_к_файлу_curl curl -X GET http: //localhost:8080/opt/in 5. в VBA вызывать выполнение этих файлов через Shell Shell "cmd.exe /c c:\BatFile\put.bat" Shell "cmd.exe /c c:\BatFile\get.bat" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 21:30 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
guest_rusimport, Спасибо тебе ОГРОМНОЕ добрый человек!!! Сейчас попробую. О результате обязательно отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 22:27 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
guest_rusimport, Приношу извинения за доставленные хлопоты. Вариант с BAT файлами замечательный, но транспортный модуль его не воспринял. Я не правильно предположил ход действий. Вернувшись к первоначальному варианту и использовав пример от mds_world 7477874 Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
удалось получить ответ с сервера в виде XML файла. Теперь осталось разобраться, как аналогичным способом загрузить xml файл на сервер. В качестве исходника использую этот пример 15205874 , но что-то мозгов не хватает преобразовать его под свои нужды. Подскажите, КАК загрузить этот файл? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 23:05 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Шаман, попробуй как-то так 1415697 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 23:25 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
guest_rusimport, Этот вариант рассматривал изначально, но так и не понял где прописать загружаемый файл и адрес сервера. Вообще с написанием (редактированием) функций у меня проблема. Бубен не настроен ) Поэтому.... Стыдно конечно, но приходится обращаться за помощью. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 23:47 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Шаман, ну , я так понимаю для твоего случая в последнем примере FileNameClient="c:\полный путь к файлу client.xml'' FileNameServer=" http://localhost:8080/opt/in/QueryPartner" в чем тут затруднения? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2015, 23:55 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
guest_rusimport, Если я правильно понял, код должен выглядеть следующим образом: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 00:17 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Шаман, ну , если у вас файл client.xml лежит в корневом каталоге диска C: и удаленный сервер это - localhost, то -да :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 00:25 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Блин, что то файл так и не отправляется. Но это наверное я где-то накосячил. Завтра на свежую голову буду разбираться. guest_rusimport , даже не знаю, что бы я делал Ваших советов. Еще раз СПАСИБО за помощь и выдержку. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 00:54 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
ШаманБлин, что то файл так и не отправляется. Но это наверное я где-то накосячил. Завтра на свежую голову буду разбираться. guest_rusimport , даже не знаю, что бы я делал Ваших советов. Еще раз СПАСИБО за помощь и выдержку. так вот прям "молча" и не отправляет или всё же ошибка какая-то появляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 06:50 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
guest_rusimport, После выполнения команды захожу в log файл. Когда запрос проходит успешно появляется событие: Код: xml 1. 2.
А при отправке файла никакие события не отражены. Хотя, согласно инструкции: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Сейчас проверяю сам файл на предмет ошибок. Возможно при малейшем несовпадении ТМ блокирует отправку. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 08:27 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Уважаемый guest_rusimport , еще раз СПАСИБО за помощь. После установки cURL version 7.43.0 http://www.confusedbycode.com/curl/ заработал предложенный Вами вариант с BAT файлами. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2015, 12:11 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
Шаманзаработал предложенный Вами вариант с BAT файлами. А как при этом поймать ответ в досовском окне и сохранить в файл ??? Ну и вообще как успехи на этом поприще? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2015, 23:52 |
|
Обмен данными с http сервером
|
|||
---|---|---|---|
#18+
vmag А как при этом поймать ответ в досовском окне и сохранить в файл ??? Ну и вообще как успехи на этом поприще? Давно не заходил. Работы много. Может немного запоздало, но все же отвечу. В BAT файле после команды добавляем " > C:\Test.txt" и ответ сохраняется в этом файле. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2016, 16:15 |
|
|
start [/forum/topic.php?fid=45&msg=39036926&tid=1613713]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 331ms |
total: | 480ms |
0 / 0 |