|
SetCredentials через HTTPСоединение | ☑ | ||
|---|---|---|---|---|
|
0
igel1969
20.01.17
✎
09:46
|
Здравствуйте!
Есть такой пример отправки HTTP POST запроса: HTTP = Новый COMОбъект("WinHttp.WinHttpRequest.5.1"); HTTP.Open("POST","http://ххх.ххх.ххх.ххх"+ресурс, Ложь); 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 или конкретные логин и пароль? Помогите, пожалуйста, дело новое для меня (((( |
|||
|
1
igel1969
20.01.17
✎
10:21
|
очень важный для меня вопрос, поэтому осмелюсь поднять его, простите, модераторы.
|
|||
|
2
Широкий
20.01.17
✎
10:44
|
HTTPСоединение.Прокси (HTTPConnection.Proxy)
HTTPСоединение (HTTPConnection) Прокси (Proxy) |
|||
|
3
Широкий
20.01.17
✎
10:46
|
Либо
HTTPСоединение.Пользователь HTTPСоединение.Пароль |
|||
|
4
igel1969
20.01.17
✎
11:36
|
(2) (3) Спасибо, это я и сам пробовал.
Оказалось, что если я указываю логин и пароль при создании коннекта, то в заголовок вот это HTTP.SetRequestHeader("Authorization","Basic USER:PASS"); писать уже не надо. И все заработало. |
|||
|
5
igel1969
20.01.17
✎
11:38
|
т.е. ЗаголовокЗапросаHTTP.Вставить("Authorization","Basic USER:PASS"); писать не надо, я имел в виду
|
| Форум | Правила | Описание | Секции | Поиск |