За последние 24 часа нас посетили 23148 программистов и 1238 роботов. Сейчас ищет 781 программист ...

CURL проблема

Тема в разделе "PHP для новичков", создана пользователем bogdan_titomir, 13 мар 2019.

  1. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Бьет ошибку Warning: curl_setopt() expects parameter 1 to be resource, null given хотя ему все передается, вот код. Заранее спасибо:)

    PHP:
    1. <?php
    2.  
    3. class Parser {
    4.  
    5.     private $url;
    6.     private $ch;
    7.  
    8.     public function __consctrut () {
    9.         $this->ch = curl_init();
    10.         curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
    11.         curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, true);
    12.         curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, true);
    13.     }
    14.  
    15.     public function set($name,$value) {
    16.         curl_setopt($this->ch, $name, $value);
    17.         return $this;
    18.     }
    19.  
    20.  
    21.     public function exec($url) {
    22.         curl_setopt($this->ch, CURLOPT_URL, $url);
    23.         return curl_exec($this->ch);
    24.     }
    25.  
    26.     public function __desctruct() {
    27.         curl_close($this->ch);
    28.     }
    29.  
    30.  
    31. }
    32. ?>
    PHP:
    1. <?php
    2. require __DIR__ .'\vendor\phpquery.php';
    3. require __DIR__ .'\core\parser.php';
    4.  
    5. $url = 'test.ru';
    6.  
    7. $parser = new Parser();
    8.  
    9. $data = $parser->exec($url);
    10. ?>
    --- Добавлено ---
    Проблема решена, ошибку нашел. Блин вот так всегда как публикуешь код на форум тут же находишь ошибку сам прям закономерность:D
    --- Добавлено ---
    Ошибку в коде нашел, исправил. Но все равно бьет ту же ошибку.
     
  2. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Поковырявшись с кодом не нашел ошибок и выбил теперь NULL

    Warning: curl_setopt() expects parameter 1 to be resource, null given in C:\OSPanel\domains\localhost\parser\core\parser.php on line 19

    Warning: curl_exec() expects parameter 1 to be resource, null given in C:\OSPanel\domains\localhost\parser\core\parser.php on line 20
    NULL
    --- Добавлено ---
    Сайт который пытаюсь парсить:
    https://flashdeals.aliexpress.com/en.htm

    Может из за того что htm он не хочет парсить?
    --- Добавлено ---
    Да точно, проверил другой сайт и все нормально. Нужно именно этот сайт парсить и без фреймов есть альтернативы?
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Все еще проще - парсерщики должны страдать.
    API.

     
  4. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    Да точно, проверил другой сайт и все нормально.
    Я не парсерщик просто дали тестовое задание вот и дрючусь. На счет api можно попродробнее заранее спасибо!
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Если не знаешь, что такое API, то рановато браться за такие задания, боюсь.
    Это интерфейс, через который можно напрямую просить данные у сервиса. У крупных проектов, к которым Али, ессно, относится, такой интерфейс есть.
     
    bogdan_titomir нравится это.
  6. bogdan_titomir

    bogdan_titomir Новичок

    С нами с:
    7 окт 2017
    Сообщения:
    159
    Симпатии:
    2
    ясно, спасибо за быстрый фидбэк