php завиток не получается, как ожидалось - PullRequest
0 голосов
/ 19 января 2020

У меня есть следующий код для захвата html кода данного URL:

$url = "https://fnet.bmfbovespa.com.br/fnet/publico/exibirDocumento?id=77212&cvm=true";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CAINFO, '/etc/ssl/certs/cacert.pem');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    $html = curl_exec($ch);

    echo "$url\n\n";
    die($html); 

По какой-то причине результат следующего URL не такой, как ожидалось:

"https://fnet.bmfbovespa.com.br/fnet/publico/exibirDocumento?id=77212&cvm=true"

Вместо кода результатом является гигантская бессмысленная строка.

  • Я успешно использовал тот же код с другими страницами того же домена.
  • Я могу заверить что содержимое нужной страницы не загружается никаким методом js / ajax (я тестировал загрузку страницы при отключении javascript).

Мой вопрос: Есть какая-нибудь опция cUrl, которую я должен установить, чтобы исправить эту ошибку?

Весь мой сайт зависит от захвата этих страниц. Любая помощь будет по достоинству оценена.

1 Ответ

2 голосов
/ 19 января 2020

Это кодировка base64, все что вам нужно сделать, это декодировать его обратно в обычный текст, как это

echo base64_decode($html);

, и вы увидите HTML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...