From few weeks I can't get anything from one website, because they changed something in cloudflare configuration. There is '403 Forbidden' response.
I use fphttpclient and opensslsockets. I tried Indy - the same result.
I tried curl and it doesn't work either.
Everything works in web browsers or API tersters like Insomnia.
After some research I read that cloudflare tries to block bots. I made test in curl-impersonate - it works.
Then I made test in Delphi using System.Net.HttpClient - it works like a charm.
Maybe cloudflare blocks OpenSSL 1.0.2u, which I use in fphttpclient and Indy?. This is the newest OpenSSL version for that units. There is no support for newer OpenSSL 1.1.1 or LibreSSL.
I did another test with openssl from command line (openssl s_client -connect
www.flightsfrom.com:443).
Version 1.0.2u gives error: 1380:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:.\ssl\s23_clnt.c:802:
Version 1.1.1q works fine.
Is there possibility to make it work in Lazarus?
URL to test:
https://www.flightsfrom.com/airports/londonEDIT:
I used FPC 3.3.1 with OpenSSL 1.1.1 libraries and everything works
Libraries from this site:
http://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries_.28required_for_SSL-enabled_components.29