|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
idHttp & получение контента
Здравствуйте,
возникла такая необходимость, получить исходник запрашиваемой страницы используя idhttp, даже когда есть ошибка или редирект. Если смотреть через снифер, то исходник есть, а инди сразу показывает ошибку или редеректит. Если нужно гдето исходник инди поправить, скажите, очень надо Спасибо |
#2
|
||||
|
||||
У меня так, может поможет:
Код:
function CheckUrl(url: string): boolean; var hSession, hfile, hRequest: hInternet; dwindex, dwcodelen: dword; dwcode: array [1..20] of char; res: pchar; begin if pos('http://', lowercase(url)) = 0 then url := 'http://'+url; Result := false; hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if assigned(hsession) then begin hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0); dwIndex := 0; dwCodeLen := 10; HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex); res := pchar(@dwcode); result := (res = '200') or (res = '302'); if assigned(hfile) then InternetCloseHandle(hfile); InternetCloseHandle(hsession); end; end; procedure TForm1.Button1Click(Sender: TObject); begin link:=edit1.text; Application.ProcessMessages; if not (CheckUrl(link)) then begin MessageBox(0, 'Произошла ошибка!', 'Ошибка', MB_ICONERROR); end else begin memo1.links.text:=idHTTP1.Get(link); end; У меня вроде работает но про редирект не знаю, не проверял |