Różnice pobieranej strony po HTTPS pomiędzy Synapse a kodem w PHP czy wgetem.

0

Witam.

Dawno się nie udzielałem, faza bycia fit u mnie trwa. Rzadko siedzę dłużej w sieci i na te forum też nie zaglądam za wiele. Ale to nadrobię za jakiś czas:) A chciałem się od Was dowiedzieć jak mam prawidłowo pobrać stronę po HTTPS. Konkretnie taką z ILI pod adresem https://www.ipla.tv/wideo/serial/Pierwsza-milosc/828/Odcinki-2501-3000/5010718/Pierwsza-Milosc-Odcinek-2653/3acd7d559b7785f11e56cb6848ab326f by móc osiągnąć taką samą Jej zawartość HTML w pliku lub zmiennej typu string, jaką uzyskuje kod w PHP czy wget dla Windows/Unix? Pytam o to ponieważ taki kod mniej więcej z właściwymi bibliotekami SSL wraz z dołączonym modułem ssl_openssl, pobierze stronę po kodzie 500:

var
  SynHttp : THttpSend;
begin
  SynHttp := THttpSend.Create;
  with SynHttp do
  begin
    KeepAlive := True;
    Protocol := '1.1';
    UserAgent := 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0';
    Headers.Add('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
    Headers.Add('Accept-Language: pl,en-US;q=0.7,en;q=0.3');
    Headers.Add('Upgrade-Insecure-Requests: 1');
    HTTPMethod('GET', 'https://www.ipla.tv/wideo/serial/Pierwsza-milosc/828/Odcinki-2501-3000/5010718/Pierwsza-Milosc-Odcinek-2653/3acd7d559b7785f11e56cb6848ab326f');
    ShowMessage(Headers.Text);
end;
  FreeAndNil((SynHttp);
end;

I mamy po wspomnianym kodzie 500 taką zawartość taką na przykład

<html><head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  <noscript>
    <meta http-equiv="refresh" content="0; url=http://error.ipla.tv">
  </noscript>
</head>
<body>
<script>
var cooldown = Math.floor((Math.random() * 9) + 2);
var url = this.location.href;
var ts = Math.ceil(new Date().getTime() / 1000) + cooldown * 5;

var params = {
  url: url,
  ts: ts
}

var encodedParams = window.btoa(JSON.stringify(params)).replace('==','');

document.location.href='http://error.ipla.tv?q=' + encodedParams;
</script>  

</body>
</html>

A powinniśmy mniej więcej taki mieć kod HTML jak źródło strony. Coś możecie doradzić, jakie nagłówki? Jak to ugryźć. Babrać się w Indy muszę? Nie wiem czy czegoś nie pomieszałem. Ale skoro ten sam IP komputera, nieraz dubluje user agent, strona taka sama, w niczym nie wadzi zapora ESET Smart Security to dlaczego mam inne wyniki. Jedyne co przychodzi mi tutaj od razu na myśl to nagłówki. No ale właśnie jak one powinny wyglądać prawidłowo i ten kod? Z góry dziękuję za przykłady kodu.

2

Nie wiem dlaczego ale w Synapse rzeczywiście jest jak piszesz a w Indy jest ok (nawet nagłówków nie trzeba ustawiać).
EDIT: @olesio SynHttp.AddPortNumberToHost:= False; i po problemie :)

0

Dziękuję Tobie pięknie @kAzek - na Ciebie też nawet ja tutaj mogę liczyć :) Oczywiście pomogło i jaki to banał. Aż teraz trochę mi głupio że tak dawno nie zaglądam i nie udzielam się aktywnie na tym Forum. Ale jak się skupiło na tym by nie spierdzielić zejścia wagą z jakieś 20 KG i cisnąc dalej a życie realne, zawodowe i masa spraw stały się priorytetem, to tak aktywne udzielanie się w dawnym moim stylu było by ciężkie. Wątek pod kątem swojego problemu uważam za zakończony i rozwiązany.

A i widzę też usunięty kolejny post od @abrakadaber - także jeśli nadal aktualne to mogę Tobie tutaj dllki jakie używam podlinkować w załączniku ale powinny sprawdzić się te pod adresem http://synapse.ararat.cz/files/crypt/ - który został wymieniony w moim dawnym artykułu pod adresem: Obsługa protokołu HTTP przy użyciu pakietu Synapse - odpowiadam też na to o ile będzie Tobie czy komuś kiedyś potrzebne :)

Także jeszcze raz dziękuję. Może ruszę tyłek w gdybym miał wolne w Święta i zamkną pakernie by odpoczywać to spróbuję wdrożyć się w aktywne życie Forum na nowo i coś podpisywać na pytanie o kody w Delphi o ile ogarnę, a także ruszyć "zawieszone na kołku" mnóstwo projektów które rozgrzebane są w testowe moduły w 100 miejscach często będąc do poprawienia. A jeśli coś sobie klepałem ostatnio amatorsko to w 90% przypadków były to lamerskie copy pasty z przerabianiem raczej w języku PHP i to nieobiektowo :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1