Я делаю сообщение для аутентификации, используя TIdHttp, как правило, но когда имя пользователя имеет специальный символ, оно не работает, анализируя POST браузером, я вижу преобразование, например, имя пользователя "aforça" в браузере остается "afor% E7a ", даже отправка мне того, что отправляет браузер, то есть" afor% E7a "также не работает.
Я пробовал следующее:
var
Params2: TStringList;
begin
Params2 := TStringList.Create;
Params2.Add('username=' + UTF8String('aforça'));
Params2.Add('password=' + UTF8String('123456'));
xHtmlRetorno := IdHttp.Post('urlsite.com', Params2);
end;
не работает. *В поисках 1006 *
я обнаружил следующее:
var
Params3 : TIdMultipartFormDataStream;
begin
Params3 := TIdMultipartFormDataStream.Create;
Params3.AddFormField('username', UTF8Encode('aforça'), 'utf-8').ContentTransfer := '8bit';
Params3.AddFormField('password', UTF8Encode('123456'), 'utf-8').ContentTransfer := '8bit';
xHtmlRetorno := IdHttp.Post('urlsite.com', Params3);
end;
, который также не работал ...
Даже если я отправляю сообщения, отправленные браузером, это не такработать.
var
Params2: TStringList;
begin
Params2 := TStringList.Create;
Params2.Add('username=' + UTF8String('afor%E7a'));
Params2.Add('password=' + UTF8String('123456'));
xHtmlRetorno := IdHttp.Post('urlsite.com', Params2);
end;
как я могу это сделать, поскольку я могу аутентифицироваться только с тем пользователем, который не может использовать специальные символы.
Спасибо!