Цитата:
Сообщение от lmikle
ну, тебя, походу, вежливо послали, т.к. ты ходишь через http, т.е. dll-ки не подцепились.
Для Д7 желательно обновить Indy.
Повторю рабочий код для получения странички:
Код:
function ReadInternetPage(AUrl : String) : String;
var
IdHTTP : TIdHTTP;
Id_HandlerSocket : TIdSSLIOHandlerSocketOpenSSL;
begin
IdHTTP := TIdHTTP.Create(Nil);
Id_HandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP);
Try
IdHTTP.Request.BasicAuthentication := False;
IdHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
Id_HandlerSocket.SSLOptions.Mode := sslmClient;
Id_HandlerSocket.SSLOptions.Method := sslvSSLv23;
IdHTTP.IOHandler := Id_HandlerSocket;
Result := IdHTTP.Get(FUrl);
Finally
Id_HandlerSocket.Free;
IdHTTP.Free;
End;
end;
Теперь про декодинг собственно.
Там по ссылке приведена функция декодирования. Вот она:
Код:
function UTF8ToWideString(const S: AnsiString): WideString;
var
BufSize: Integer;
begin
Result := '';
if Length(S) = 0 then Exit;
BufSize := MultiByteToWideChar(CP_UTF8, 0, PAnsiChar(S), Length(S), nil, 0);
SetLength(result, BufSize);
MultiByteToWideChar(CP_UTF8, 0, PANsiChar(S), Length(S), PWideChar(Result), BufSize);
end;
|
Окей, спасибо!
Обновил инди, 10.
Вставляю первую функцию, ругается на
Код:
Result := IdHTTP.Get(FUrl);
Undeclared identifier: 'Furl'
Там должен быть сайт с которого хочу получить html ?
Пробовал вписывать туда гугл. А как мне получить в мемо html не пойму.
Код:
ReadInternetPage(memo1.lines.text); // ?????
Если так, то в мемо пусто.
Скорее всего я что-то недопонял, будь добр разжуй мне пожалуйста )