Форум программистов, компьютерный форум CyberForum.ru

1С: Администрирование и интеграция

Войти
Регистрация
Восстановить пароль
 
Jackshi
59 / 59 / 5
Регистрация: 16.01.2013
Сообщений: 148
#1

НТТРСоединение (передача параметров) - 1С

30.12.2016, 11:53. Просмотров 307. Ответов 9
Метки нет (Все метки)

Добрый день.

Не нашел в просторах инета, поэтому обращаюсь к вам, знатоки. Мне нужно передать 2 параметра, чтобы получить данные в xml-файле.

1C
1
2
3
4
5
6
нСоед = Новый HTTPСоединение("http://mymy.ru");//,,,,,Новый ЗащищенноеСоединениеOpenSSL);
нЗапрос = Новый HTTPЗапрос("/up/sp/rep/");
нЗапрос.УстановитьТелоИзСтроки("dt1=2016-12-27 12:00:00' 'dt2=2016-12-28 12:00:00'");
нОтвет = нСоед.ОтправитьДляОбработки(нЗапрос);
ДвДанные = нОтвет.ПолучитьТелоКакДвоичныеДанные();
ДвДанные.Записать("U:\Downloads\First.xml");
Помогите, как передать два параметра.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GreenkA
Модератор
Эксперт 1С
1574 / 1067 / 365
Регистрация: 25.06.2009
Сообщений: 2,741
30.12.2016, 12:15     НТТРСоединение (передача параметров) #2
Jackshi, может попробовать передавать в Заголовках HTTPЗапроса нужную информацию?
Кликните здесь для просмотра всего текста
HTTPЗапрос (HTTPRequest)
Заголовки (Headers)
Использование:

Чтение и запись.
Описание:

Тип: Соответствие.
Заголовки, которые будут отправлены на сервер в виде соответствия: "Заголовок" - "Значение".

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Dethmontt
Модератор
Эксперт 1С
2377 / 2186 / 325
Регистрация: 10.03.2011
Сообщений: 7,652
Записей в блоге: 1
Завершенные тесты: 1
30.12.2016, 14:23     НТТРСоединение (передача параметров) #3
1C + asp net web api
Jackshi
59 / 59 / 5
Регистрация: 16.01.2013
Сообщений: 148
30.12.2016, 16:36  [ТС]     НТТРСоединение (передача параметров) #4
Dethmontt,
У меня платформа 8.3.8.1964.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
HTTP = Новый HTTPСоединение("http://mymy.ru/up/sp/rep/");
ФайлТелаЗапроса = ПолучитьИмяВременногоФайла("txt");
ТекстФайл = Новый ТекстовыйДокумент;
ТекстФайл.УстановитьТекст("dt1=2016-12-27 12:00:00&dt2=2016-12-28 12:00:00");
ТекстФайл.Записать(ФайлТелаЗапроса, КодировкаТекста.ANSI);
ФайлНаОтправку = Новый Файл(ФайлТелаЗапроса);
РазмерФайлаНаОтправку = XMLСтрока(ФайлНаОтправку.Размер());
ФайлРезультат = ПолучитьИмяВременногоФайла();
ЗаголовокЗапросаHTTP = Новый Соответствие();
ЗаголовокЗапросаHTTP.Вставить("Content-Length", РазмерФайлаНаОтправку);
ЗаголовокЗапросаHTTP.Вставить("Content-Type", "application/json; charset=utf-8");
HTTP.ОтправитьДляОбработки(ФайлТелаЗапроса,ФайлРезультат);
 
Хмл = Новый ЧтениеXML;
Хмл.ОткрытьФайл(ФайлРезультат);
Пока Хмл.Прочитать() Цикл
    ф=0;
КонецЦикла;
На этом месте ругается: Неправильный путь к файлу. Схема не зарегистрирована.
1C
1
HTTP.ОтправитьДляОбработки(ФайлТелаЗапроса,ФайлРезультат);

GreenkA,

1C
1
2
3
4
5
6
7
8
9
10
11
нСоед = Новый HTTPСоединение("http://mymy.ru");
    
Соответствие = Новый Соответствие;
Соответствие.Вставить("dt1","2016-12-27 12:00:00");
Соответствие.Вставить("dt2","2016-12-28 12:00:00");
    
нЗапрос = Новый HTTPЗапрос("/up/sp/rep/");
нЗапрос.Заголовки = Соответствие;
нОтвет = нСоед.ОтправитьДляОбработки(нЗапрос);
ДвДанные = нОтвет.ПолучитьТелоКакДвоичныеДанные();
ДвДанные.Записать("U:\Downloads\First.xml");
Ругается: Couldn't resolve host name
1C
1
нОтвет = нСоед.ОтправитьДляОбработки(нЗапрос);
Добавлено через 2 минуты
Мне нужно отправить вот такие параметры:
dt1=2016-12-27 12:00:00
dt2=2016-12-28 12:00:00
Kawa_Cykan
Заблокирован
30.12.2016, 22:17     НТТРСоединение (передача параметров) #5
не пиши http

Добавлено через 27 секунд
потому что , оно и так хттп )
Jackshi
59 / 59 / 5
Регистрация: 16.01.2013
Сообщений: 148
10.01.2017, 11:42  [ТС]     НТТРСоединение (передача параметров) #6
Kawa_Cykan, не помогло, всё осталось как есть.
Volexovich
149 / 126 / 20
Регистрация: 24.10.2011
Сообщений: 525
10.01.2017, 13:05     НТТРСоединение (передача параметров) #7
Сервер требует авторизации?
И как выглядит передача параметров, через строку адреса или в теле запроса?
Если в теле запроса, то ваш запрос точно соответствует структуре?

Цитата Сообщение от Jackshi Посмотреть сообщение
Ругается: Couldn't resolve host name
Тут вообще не может установить соединение с сайтом.
Kawa_Cykan
Заблокирован
10.01.2017, 13:09     НТТРСоединение (передача параметров) #8
смори.
тренируйся на кошках, на заведомо исправном.
и все помешь.
туту гдету детМонт приводил готовые куски кода, вот по их аналогии заменяй пошагово.
Volexovich
149 / 126 / 20
Регистрация: 24.10.2011
Сообщений: 525
10.01.2017, 13:16     НТТРСоединение (передача параметров) #9
Couldn't resolve host name, Наверно потому что тебе говорили
Цитата Сообщение от Kawa_Cykan Посмотреть сообщение
не пиши http
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2017, 17:27     НТТРСоединение (передача параметров)
Еще ссылки по теме:

C Linux Передача нескольких параметров в pthread_create (передача структуры)
1С 1C 8.x Передача запроса на сервер
Передача файла с сервера на клиент 1С
Передача параметров PHP
C# Передача параметров

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Jackshi
59 / 59 / 5
Регистрация: 16.01.2013
Сообщений: 148
10.01.2017, 17:27  [ТС]     НТТРСоединение (передача параметров) #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Volexovich, в теле запроса.

Цитата Сообщение от Volexovich Посмотреть сообщение
Если в теле запроса, то ваш запрос точно соответствует структуре?
Структура параметров?

Kawa_Cykan, убрал Хттп. Вроде начал работать. Теперь ошибка, уже в скачанном файле: "передана неверная дата"

Добавлено через 32 минуты
Всех благодарю. Решение здесь:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Попытка
        WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
        WinHttp.Option(2,"utf-8");
        WinHttp.Open("POST","http://public.services.dellin.ru/tracker/XML/",0);
        WinHttp.SetRequestHeader("Accept-Language", "ru");
        WinHttp.SetRequestHeader("Accept-Charset","utf-8");
        WinHttp.setRequestHeader("Content-Language", "ru");
        WinHttp.setRequestHeader("Content-Charset", "utf-8");
        WinHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
        ПараметрыПОСТ = "rwID=" + СокрЛП(НомерНакладной);
        WinHttp.Send(ПараметрыПОСТ);
        ТекстОтвета = WinHttp.ResponseText();
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры
Yandex
Объявления
10.01.2017, 17:27     НТТРСоединение (передача параметров)
Ответ Создать тему
Опции темы

Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru