Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Сети
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Vabos
120 / 120 / 28
Регистрация: 12.12.2011
Сообщений: 425
1

Как добавить http авторизацию (http authorization header) при работе с web-сервисом?

02.06.2016, 14:52. Просмотров 1641. Ответов 2
Метки нет (Все метки)

Добрый день!
Проблема такая. Есть веб-сервис который при подключения требует авторизацию. Скачал wsdl, создал pas. Но для авторизации логин с паролем должны быть в http заголовке SOAP сообщения. Вопрос: как их туда засунуть? Работаю через THTTPRIO, а результаты просматриваю в Fiddler. Сначала пробовал задать через THTTPRIO.HTTPWebNode.UserName и THTTPRIO.HTTPWebNode.Password. При этом ошибка 401, а через Fiddler в разделе авторизации "No Authorization Header is present." Порывшись в интернете решил (как советуют) переопределить событие HTTPWebNode.OnBeforePost:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
var UserName, Password: String;
begin  
      UserName:=edUserName.Text;
      Password:=edUserPassword.Text;
 
   if not InternetSetOption(Data, INTERNET_OPTION_USERNAME, PChar(UserName), Length(UserName)) then
      Raise Exception(SysErrorMessage(GetLastError));
 
   if not InternetSetOption(Data, INTERNET_OPTION_PASSWORD, PChar(Password), Length (Password)) then
      Raise Exception(SysErrorMessage(GetLastError));
end;
Но проблема не ушла. Что я делаю не так и как запихать логин с паролем в заголовок http? Это и это не помогло...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2016, 14:52
Ответы с готовыми решениями:

'The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
При вызове команды Response.Redirect 'ert.asp' браузер выводит след. информацию: 'The HTTP...

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content
И так: 1. Один из наших админов сменил 2000 на 2003 (asp) 2. Все работает, НО на одной из задач...

Не работает Response.Redirect !: The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing
точнее все работает на тестовом сервере (Вин2000), при переносе на рабочий страница с редиректом...

Ошибка. Cookies + IIS 4.0: The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page
Вот это вызывает на странице ошибку <% Response.Cookies('member')('name') =...

SecurityException при работе с Web-сервисом
У меня есть проект Class Library, который ссылается на веб сервис. Также есть проект winforms,...

2
Develop_WS
31 / 30 / 16
Регистрация: 08.07.2015
Сообщений: 137
06.06.2016, 05:35 2
Не лучше ли использовать сокеты или их оболочку?
0
Vabos
120 / 120 / 28
Регистрация: 12.12.2011
Сообщений: 425
06.06.2016, 14:21  [ТС] 3
Develop_WS, а можно подробнее, примерчик какой-нибудь простенький?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2016, 14:21

Basic Authorization HTTP и MediaPlayer
есть mp3 файл и лежит он на сервере, а так же на сервере apache простая авторизация нужно...

Как отключить http-авторизацию на роутере?
Доброго времени суток. В локальной сети есть домен, назовем его sub.domain.ru, роутер Zyxel...

Как использовать протокол HTTP.WEB в WEB-приложении
Здравствуйте! Подскажите пожалуйста как использовать протокол HTTP.WEB в WEB-приложении . У меня...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru