sanek_os9
@sanek_os9
Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux

Как парсить сайт https c использованием прокси?

Для парсинга используется библиотека Snoopy которая для соединения использует stream_socket_client()
С задачей справляется кроме одного сайта который подсовывает защищенное соединение, при использовании прокси парсить сайт с таким соединением не можно, есть способ получить доступ к сайту не по защищенному протоколу?
Банальное прописывание в адресе http вместо https не помогает.
Если проигнорировать ошибку о том что сайт использует https то в результате получу страницу
301 Moved Permanently
nginx

[response_code] => HTTP/1.1 301 Moved Permanently

    [headers] => Array
        (
            [0] => HTTP/1.1 301 Moved Permanently

            [1] => Server: nginx

            [2] => Date: Wed, 19 Jul 2017 22:13:10 GMT

            [3] => Content-Type: text/html

            [4] => Content-Length: 178

            [5] => Location: https://pdalife.ru/

            [6] => X-Cache: MISS from Kluay03

            [7] => X-Cache-Lookup: MISS from Kluay03:8888

            [8] => Via: 1.1 Kluay03 (squid/3.3.8)

            [9] => Connection: close

        )

В Snoopy при условии использовании прокси а сайт с https получаем следующие
trigger_error("HTTPS connections over proxy are currently not supported", E_USER_ERROR)

Если это проигнорировать то получим
Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol in /var/www/software/Core/Snoopy.php on line 879

Warning: stream_socket_client(): Failed to enable crypto in /var/www/software/Core/Snoopy.php on line 879

Warning: stream_socket_client(): unable to connect to ssl://58.97.48.36:8888 (Unknown error) in /var/www/software/Core/Snoopy.php on line 879

Строка 879 на скрине0963a10a732a4d75a0bb0738987f81ef.png
  • Вопрос задан
  • 619 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы