Показать сообщение отдельно
  #1  
Старый 18.02.2021, 14:05
noobofthenoobs noobofthenoobs вне форума
Прохожий
 
Регистрация: 19.01.2021
Сообщения: 2
Версия Delphi: Delphi 10.3
Репутация: 10
По умолчанию idhttp - connection closed gracefully

Есть примерно такой код, мне нужно парсить ассоциации с одного сайта:

Код:
   
procedure TForm1.Button1Click(Sender: TObject);
var
  html:string;
begin
  html:=idhttp1.Get('https://sociation.org/word/'+GetURIEncodedString(edit1.Text));
  memo1.Text:=html;
end;

function tform1.GetURIEncodedString(original : string): string;
  var
  i : integer;
  CurrentCharOfString : UTF8String;
  begin
  result := '';
  for i:=1 to length(original) do
    begin
       CurrentCharOfString := UTF8Encode(original[i]);
        result := result + '%' + IntToHex(Ord(CurrentCharOfString[1]),2) + '%' + IntToHex(Ord(CurrentCharOfString[2]),2);
    end;
  end;


Когда кол-во ассоциаций на слово (которое задаем в edit1.text) не очень большое, все проходит нормально, но когда кол-во приличное (ну например возьмем популярное слово "вода"), то я получаю "connection closed gracefully" и соответственно пустой html. Причем, когда сделаешь несколько запросов к словам, у которых меньше ассоциаций, то потом бывает и нормально отрабатывает после этого и для слов с большим количеством. В чем проблема? Может конечно дело в сайте, но ведь через twebbrowser все нормально всегда работает например.
Ответить с цитированием