IdHttp возвращает HTTP 1.1 / 403 Forbidden. HttpClient работает отлично - PullRequest
0 голосов
/ 03 февраля 2020

Я использую IdHTTP для простого запроса Get:

procedure TForm1.FormCreate(Sender: TObject);
const
  URL = 'https://www.udemy.com/course/the-modern-angular-bootcamp/';
begin
  IdSSLIOHandler.SSLOptions.Method := sslvSSLv23;
  IdHttp1.Request.UserAgent :=
      'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';

  Memo1.Lines.Text := IdHTTP1.Get(URL);

При вызове IdHTTP1.Get возникает ошибка «HTTP / 1.1 403 Forbidden».

Аналогичный вопрос ( Почему я получаю «403 Запрещено», когда я подключаюсь к whatismyip.com?) говорит, что UserAgent должен быть установлен на современное значение. Я сделал это, но это не помогает.

Я использую OpenSSL Win32 v1.0.2u. Токио, Windows 10

Аналогичный код с использованием THttpClient работает без проблем:

HttpClient := THTTPClient.Create;
try
  Response := HttpClient.Get(URL);
  Memo1.Lines.Text := Response.ContentAsString();
finally
  HttpClient.Free;
end;
...