Веб-строительствоCURL не парзит https сайт 19.04.2023 alexverem 6 марта 2020, 12:29 1121Всем привет, столкнулся с проблемой, curl не может распарзить https страницу, при этом некоторые Https страницы на др сайтах ок.Вот код, попробовал поиграть с этим параметрами curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 ); ничего не вышло. код целиком:$USERAGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"; $ch = curl_init( ); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_USERAGENT, $USERAGENT ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 ); curl_setopt( $ch, CURLOPT_REFERER, $ref ); curl_setopt( $ch, CURLOPT_COOKIEJAR, "temp.txt" ); curl_setopt( $ch, CURLOPT_COOKIEFILE, "temp.txt" ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1 ); curl_setopt( $ch, CURLOPT_TIMEOUT, 60 ); $get = curl_exec( $ch ); curl_close( $ch ); return $get; skapunker 6 марта 2020, 12:30защита от ботов стоит, вот и все LEOnidUKG 6 марта 2020, 12:30Что значит, не парсит?! Что значит некоторые ок, а некоторые нет?Вас просто может блокировать сайт и всё. alexverem 6 марта 2020, 13:31skapunker:защита от ботов стоит, вот и всеА можно зашифроваться под юзера? Вроде стоит мозилла и тп в хедере onep 6 марта 2020, 13:44Возможно, не хватает curl_setopt($ch, CURLOPT_HEADER, false); _SP_ 6 марта 2020, 14:27Curl вообще-то парзить ничего не должен.Если вы не получаете Curl то, что получаете своим браузером(отключив js ), то весьма вероятно что вас «спалили и забанили». -= Serafim =- 6 марта 2020, 14:52Хорошо, что при помощи CF можно пачками в несколько кликов сеять все парсеры с более сложными алгоритмами. Задолбали грузить серваки все подряд. tommy-gung 6 марта 2020, 15:44-= Serafim =-, кто захочет, обойдет любую защиту -= Serafim =- 6 марта 2020, 15:48tommy-gung:-= Serafim =-, кто захочет, обойдет любую защитуКому это надо? Берут другой донор и все, обходить защиты — это время и деньги. SocFishing 6 марта 2020, 16:01Что выдаст$url=»/; if($curl = curl_init()) { curl_setopt($curl,CURLOPT_URL, $url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,15); curl_setopt($curl,CURLOPT_USERAGENT,»Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36′); $html = curl_exec($curl); curl_close($curl);}echo $html;Скорее всего да — ограничение сайта. onep 6 марта 2020, 17:02SocFishing:Скорее всего да — ограничение сайта.Да ладно ) А если так: $url="/; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $results = curl_exec ($ch); curl_close($ch); $doc = new DOMDocument(); @$doc->loadHTML($results); $xpath = new DomXPath($doc); $elements = $xpath->query('.//tr/td'); foreach ($elements as $i=>$element) { echo $xpath->query($element->getNodePath().'/div')->item(0)->nodeValue.'<br />'; } Похожие записи:Curl авторизация в админку WP+1 к следующей функциипомогите победить редиректы php curlПолный пример API отображения Instagram Basic PHPJSON POST-запрос на php
alexverem
Всем привет, столкнулся с проблемой, curl не может распарзить https страницу, при этом некоторые Https страницы на др сайтах ок.
Вот код, попробовал поиграть с этим параметрами
ничего не вышло. код целиком:
skapunker
защита от ботов стоит, вот и все
LEOnidUKG
Что значит, не парсит?! Что значит некоторые ок, а некоторые нет?
Вас просто может блокировать сайт и всё.
alexverem
защита от ботов стоит, вот и все
А можно зашифроваться под юзера? Вроде стоит мозилла и тп в хедере
onep
Возможно, не хватает
_SP_
Curl вообще-то парзить ничего не должен.
Если вы не получаете Curl то, что получаете своим браузером(отключив js ), то весьма вероятно что вас «спалили и забанили».
-= Serafim =-
Хорошо, что при помощи CF можно пачками в несколько кликов сеять все парсеры с более сложными алгоритмами. Задолбали грузить серваки все подряд.
tommy-gung
-= Serafim =-, кто захочет, обойдет любую защиту
-= Serafim =-
-= Serafim =-, кто захочет, обойдет любую защиту
Кому это надо? Берут другой донор и все, обходить защиты — это время и деньги.
SocFishing
Что выдаст
if($curl = curl_init()) {
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,15);
curl_setopt($curl,CURLOPT_USERAGENT,»Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36′);
$html = curl_exec($curl);
curl_close($curl);
}
echo $html;
Скорее всего да — ограничение сайта.
onep
Скорее всего да — ограничение сайта.
Да ладно ) А если так: