HTTPS cURL wyświetla krzaki

0

Witajcie,
Spędzam już trochę czasu nad pewną funkcją, która ma za zadanie analizować kod HTML. Do wykonania użyłem biblioteki curl. Ustawiłem nagłówki na wzór z przeglądarki. Serwer odpowiedział i wyświetliły się krzaki. Obstawiam że kod jest zaszyfrowany i moje pytanie Jak sobie z tym poradzić aby przekonwertować to do czystego tekstu.
Kod Funkcji

[code]
$url = 'https://.......';
 
// In this example we are referring to a page that handles xml
$headers = array( "Content-Type: text/html",);
 
// Initialise Curl
$curl = curl_init();
if ($curl === false)
{
    throw new Exception(' cURL init failed');
}
 
// Configure curl for website
curl_setopt($curl, CURLOPT_URL, $url);
 
// Set up to view correct page type
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// Turn on SSL certificate verfication
 
curl_setopt($curl, CURLOPT_CAPATH, "inc/cacert.pem");  //pobrany plik z różnymi CA
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);
 
// Tell the curl instance to talk to the server using HTTP POST
curl_setopt($curl, CURLOPT_POST, 1);
 
// 1 second for a connection timeout with curl
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
 
// Try using this instead of the php set_time_limit function call
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
 
// Causes curl to return the result on success which should help us avoid using the writeback option
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
echo $result = curl_exec($curl);
[/code]

oraz zrzut wyświetlanej strony

1

Co to są te krzaki?
Przeglądarka tą stronę wyświetla poprawnie?

Spróbuj zamiast echo zalogować zawartość np. do pliku.

0

Wycinek tego co otrzymuje

i tak wygląda cała strona

0

@Paweł Płowiec: Aż się boję zapytać jaki jest URL. Z tego co pokazałeś to Ty nie analizujesz kodu HTML tylko chcesz pobrać plik certyfikatu pem.

0

nie program bedzie analizował kod html. Nie mam doświadczenia z curl w sumie to od dziś. Na zwykłym http używałem fopen i wszystko smigało. Kod który tu zamieściłem pochodzi też z tego forum, natrafiłem na niego jak szukałem informacji o przesłaniu nagłówków w zapytaniu curl.

0

@Paweł Płowiec: Oj, mój błąd. Źle spojrzałem. Może jednak podaj tą stronę to będzie łatwiej. Generalnie mi się zdaje, że otwierasz coś co nie jest HTML'em a chcesz zwrócić jako text/html.

2
//curl_setopt($curl, CURLOPT_CAPATH, 
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

Zmień na próbę te linijki.

0

Niestety nie pomogło,

0

Czy dane są zaszyfrowane? z https i trzeba je odszyfrować.

1

To albo spróbuj pobrać inną prostą stronę i zobacz czy tam działa. Albo podaj URLa jakiego chcesz pobrać, bo tak będziemy stać w miejscu.

0

Niestety , jest to samo, próbowałem jeszcze ze zmianą kodowania wyświetlanego tekstu ale też nie pomogło.

0

@Paweł Płowiec: Ale czemu nie możesz podać strony?

0

c\d\a.pl

0

znalazłem rozwiązanie, poprawa ustawień i działa, dzięki za podpowiedzi

$options = array(
    CURLOPT_RETURNTRANSFER => true,         // return web page
    CURLOPT_HEADER         => false,        // don't return headers
    CURLOPT_FOLLOWLOCATION => true,         // follow redirects
    CURLOPT_ENCODING       => "",           // handle all encodings
    CURLOPT_USERAGENT      => "spider",     // who am i
    CURLOPT_AUTOREFERER    => true,         // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120,          // timeout on connect
    CURLOPT_TIMEOUT        => 120,          // timeout on response
    CURLOPT_MAXREDIRS      => 10,           // stop after 10 redirects
    CURLOPT_POST           => 1,            // i am sending post data
    // CURLOPT_POSTFIELDS     => $curl_data,    // this are my post vars
    CURLOPT_SSL_VERIFYHOST => 0,            // don't verify ssl
    CURLOPT_SSL_VERIFYPEER => false,        //
    CURLOPT_VERBOSE        => 1,                // 
//moje
    CURLOPT_URL            => $host
);

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