![]() |
![]() |
![]() |
|
Не получается написать простенький Post-запрос | ☑ | ||
---|---|---|---|---|
0
rphosts
27.10.15
✎
17:38
|
Есть некий сайт и когда захожу на него через браузер по URL что-то типа http://192.168.0.1:1234/ajax?svc=core/login¶ms={"user":"Adm","password":"12345"}
получаю со стороны сервера кучу требуемой инфы, а вот получить то-же самое из 1С не получается. На входе и на выходе всё в новомодном JSON в UTF-8. core/login - имя команды для начала работы с сервисом. Пробовал по разному, например так: Заголовки = Новый Соответствие(); Заголовки.Вставить("POST / HTTP/1.1"); Заголовки.Вставить("Accept", "application/json"); Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); HTTPСоединение = Новый HTTPСоединение("192.168.0.1",1234,,,,,); HTTPЗапрос = Новый HTTPЗапрос("/ajax.html", Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки("<data>core/login¶ms={""user"":""Adm"",""password"":""12345""}</data>","UTF-8"); Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Результат = Ответ.ПолучитьТелоКакСтроку(); с той стороны возвращается ошибка, вместо ожидаемого ответа Параметры по другому нужно как-то передавать(как именно?) или что в коде поправить? |
|||
1
rphosts
27.10.15
✎
17:40
|
В оригинальной строке URL символы { и } движком форума были транслированы в &
|
|||
2
rphosts
27.10.15
✎
17:41
|
точнее в & и "}
|
|||
3
Serginio1
27.10.15
✎
18:05
|
Так из браузера ты Get запросом ходишь
|
|||
4
Serginio1
27.10.15
✎
18:08
|
и берешь в руки фиддлер и анализируешь
|
|||
5
rphosts
27.10.15
✎
18:08
|
(3) это не ошибка? В SDK разработчика сервиса написано только:
Все запросы осуществляются только методом POST. Дополнительные параметры («params») должны быть представлены в формате JSON. Ответ так же возвращается в виде JSON. Все текстовые параметры, посланные и принятые, предполагают использование кодировки UTF-8. |
|||
6
rphosts
27.10.15
✎
18:23
|
(4) >фиддлер
кого? |
|||
7
rphosts
27.10.15
✎
18:36
|
ну и GET тут никак
Соединение = Новый HTTPСоединение("http://192.168.0.1",1234); Соединение.Получить("/ajax.html?svc=core/login¶ms={""user"":""Adm"",""password"":""12345""}", "D:\2.js"); создает файл нулевой длины. |
|||
8
rphosts
27.10.15
✎
19:01
|
забавно, а если вот так, то работает:
Соединение = Новый HTTPСоединение("192.168.0.1",1234); Соединение.Получить("/ajax.html?svc=core/login¶ms={""user"":""Adm"",""password"":""12345""}", "D:\2.js"); в принципе может этим и обойдусь. |
|||
9
Serginio1
27.10.15
✎
20:15
|
(6) Работаешь с HTTP запросами и не знаешь что такое фиддлер
http://www.telerik.com/fiddler http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler |
|||
10
oleg_km
27.10.15
✎
21:49
|
ТАк а в
Соединение = Новый HTTPСоединение("192.168.0.1",1234); и не надо указывать http СП читай внимательнее |
|||
11
rphosts
28.10.15
✎
01:53
|
(9) да, вчера первый день работал а сегодня уже знаю что такое фидлер!
|
|||
12
rphosts
28.10.15
✎
01:54
|
(10) уже прочитал
|
|||
13
jsmith82
28.10.15
✎
01:57
|
Так няшно пост написал
|
|||
14
rphosts
28.10.15
✎
02:13
|
+ (11) вообще-то думал вчера снифером воспользоваться, но может это и удобнее будет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |