• Как исправить, ssl блокирует парсер simple_html_dom?

    @artemka170691 Автор вопроса
    rPman, ну если бы понимал сюда бы не писал)
    вот что там

    <?php
    namespace Infr;
    
    defined('PIMPORT') or die('Error access');
    
    //класс требует подключение зандовской библиотеки
    require_once 'Zend' . DS . 'Http' . DS . 'Client.php';
    
    /**
     * Class Request
     * @package Infr
     */
    class Request extends Singleton {
    
        /**
         * @param $url
         */
        public function redirect($url) {
            header('Location: ' . $url);
            exit();
        }
    
        /**
         * @static
         * @param $URL
         * @param int $time
         * @param array $params
         * @param string $method
         * @param bool $URL2
         * @return bool|string
         */
        public static function httpRequestCache($URL, $time = 900, $params = array(), $method = 'get', $URL2 = false) {
            $cacheFileName = md5($URL . $URL2);
            $cacheFilePath = DIR_ROOT . DS . 'tmp' . DS . 'files' . DS . $cacheFileName;
    
            if (file_exists($cacheFilePath)) {
                $fileModTime = filemtime($cacheFilePath);
                if ($fileModTime > (time() - $time)) {
                    return file_get_contents($cacheFilePath);
                }
            }
    
            $cacheContent = self::httpRequest($URL, $params, $method, $URL2);
            if ($cacheContent !== false) {
                file_put_contents($cacheFilePath, $cacheContent);
            }
            return $cacheContent;
        }
    
        /**
         * Запрос к серверу
         * @param $URL
         * @param array $params
         * @param string $method
         * @param bool $URL2
         * @return bool|array|string
         */
        public static function httpRequest($URL, $params = array(), $method = 'get', $URL2 = false) {
            if (!\Zend_Uri::check($URL)) {
                return false;
            }
    
            $logObject = new Log('requests');
    
            $config = array(
                'maxredirects' => 5,
                'strictredirects' => false,
                'timeout' => 150,
                'adapter' => 'Zend_Http_Client_Adapter_Socket'
            );
            $client = new \Zend_Http_Client($URL, $config);
    
            $client->setHeaders('User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36');
    
            $client->resetParameters();
            $client->setCookieJar();
    
            if ($method == 'get') {
                $client->setMethod(\Zend_Http_Client::GET);
                $client->setParameterGet($params);
            } else {
                $client->setMethod(\Zend_Http_Client::POST);
                $client->setParameterPost($params);
            }
    
            try {
                $client->request();
            } catch (\Exception $e) {
                echo $e->getMessage();
                $logObject->write('Не удалось загрузить ' . $URL);
            }
    
            if ($URL2) {
                if (is_array($URL2)) {
                    $responses = array();
    
                    foreach ($URL2 as $key => $subUrl) {
                        if (!\Zend_Uri::check($subUrl)) {
                            continue;
                        }
                        $client->resetParameters();
                        $client->setMethod(\Zend_Http_Client::GET);
                        $client->setUri($subUrl);
                        try {
                            $client->request();
                        } catch (\Exception $e) {
                            $logObject->write('Не удалось загрузить ' . $subUrl);
                        }
    
                        $response = $client->getLastResponse();
    
                        if (!$response || !is_object($response)) {
                            continue;
                        }
    
                        if (preg_match('|^40|', $response->getStatus())) {
                            $logObject->write('ERROR(' . $response->getStatus() . '): ' . $URL);
                            continue;
                        }
    
                        $responses[$key] = $response->getBody();
                    }
    
                    return $responses;
                } else {
                    if (!\Zend_Uri::check($URL2)) {
                        return false;
                    }
                    $client->resetParameters();
                    $client->setMethod(\Zend_Http_Client::GET);
                    $client->setUri($URL2);
                    try {
                        $client->request();
                    } catch (\Exception $e) {
                        $logObject->write('Не удалось загрузить ' . $URL2);
                    }
                }
            }
    
            $response = $client->getLastResponse();
    
            if (!$response || !is_object($response)) {
                return false;
            }
    
            if (preg_match('|^40|', $response->getStatus())) {
                $logObject->write('ERROR(' . $response->getStatus() . '): ' . $URL);
                return false;
            }
    
            return $response->getBody();
        }
    
    }
  • Как исправить, ssl блокирует парсер simple_html_dom?

    @artemka170691 Автор вопроса
    rPman, дак в моем коде №2 и есть методом str_get_html на сколько я вижу
  • Как исправить, ssl блокирует парсер simple_html_dom?

    @artemka170691 Автор вопроса
    не совсем понял. можно подробнее