0
igel1969
20.01.17
✎
09:46
|
Здравствуйте!
Есть такой пример отправки HTTP POST запроса:
HTTP = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
HTTP.Open("POST",";+ресурс, Ложь);
HTTP.Option(2,"utf-8");
HTTP.SetRequestHeader("Content-type", "text/plaint; charset=utf8");
HTTP.SetRequestHeader("Authorization","Basic USER:PASS");
HTTP.SetCredentials("USER","PASS",0 );
HTTP.Send(СтрЗапроса);
HTTP.WaitForResponse();
ответсервера = HTTP.status;
ТекстОтвета = HTTP.ResponseText;
Сообщить(ответсервера);
Сообщить(ТекстОтвета);
Это человек писал на семерке.
Но я пишу на 8.2, поэтому хочу использовать более передовые,
встроенные технологии, а именно HTTPСоединение:
HTTP = Новый HTTPСоединение("ххх.ххх.ххх.ххх",80,,, , Ложь);
ЗаголовокЗапросаHTTP = Новый Соответствие();
ЗаголовокЗапросаHTTP.Вставить("Content-type", "text/plaint; charset=utf8");
ЗаголовокЗапросаHTTP.Вставить("Authorization","Basic USER:PASS");
HTTPЗапрос = Новый HTTPЗапрос(ресурс, ЗаголовокЗапросаHTTP);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрЗапроса, КодировкаТекста.UTF8);
HTTPОтвет = HTTP.ОтправитьДляОбработки(HTTPЗапрос, КаталогИБ()+"xxx.txt");
Сообщить(HTTPОтвет.КодСостояния);
ответсервера = HTTPОтвет.КодСостояния;
Не могу понять две вещи:
1. Как в HTTPСоединение вызвать метод SetCredentials, чтобы задать логин и пароль?
2. В выражении ("Authorization","Basic USER:PASS") должны стоять именно слова USER и PASS или конкретные логин и пароль?
Помогите, пожалуйста, дело новое для меня ((((
|
|
4
igel1969
20.01.17
✎
11:36
|
(2) (3) Спасибо, это я и сам пробовал.
Оказалось, что если я указываю логин и пароль при создании коннекта, то в заголовок вот это HTTP.SetRequestHeader("Authorization","Basic USER:PASS");
писать уже не надо. И все заработало.
|
|