2016-07-31 4 views
0

Я пытаюсь получить название страны с одного из веб-сайтов. этот URL веб-сайта, начинающийся с https, поэтому я не могу отказаться от данных. пожалуйста, дайте мне некоторое решение.Как отменить данные с сайта https

Вот мой код:

$curl = curl_init('https://testing.co/india'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
$page = curl_exec($curl); 
if (curl_errno($curl)) {`enter code here` 
    echo 'Scraper error: ' . curl_error($curl); 
    exit; 
} 
curl_close($curl); 
$regex = '/<a class="startup-link">(.*?)<\/a>/s'; 
if (preg_match($regex, $page, $list)) 
    echo $list[0]; 
else 
    print "Not found"; 

Получить эту ошибку: Scraper error: SSL certificate problem: unable to get local issuer certificate

+1

Перейди через: http://stackoverflow.com/questions/31162706/how-to-scrape-a-ssl-or-https -url –

ответ

-1

использование

curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false) 
0

Сегодня я решить эту проблему, и я пришел, чтобы узнать об этом.

См. Ниже приведен код, который работает для меня.

// Set so curl_exec returns the result instead of outputting it.<br/> 
$url = "https://www.google.co.in/?gws_rd=ssl";<br/> 
$ch = curl_init();<br/> 
curl_setopt($ch, CURLOPT_URL, $url);<br/><br/> 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br/> 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);<br/> 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);<br/> 
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "GeoTrustGlobalCA.crt"); 
    <br/> 
// Get the response and close the channel.<br/> 
$response = curl_exec($ch);<br/> 
$link = fopen("data.txt","w+");<br/> 
fputs($link,$response);<br/> 
fclose($link);<br/> 
curl_close($ch);<br/> 

У вас есть сертификат пасс на это .. На Mozilla Firefox осталось от входа на сайт URL вы получите один информационный значок. Затем перейдите на вкладку «Безопасность», затем найдите «Просмотреть сертификат». Нажмите вкладку «Подробности». См. Раздел иерархии сертификатов. Нажмите на самую верхнюю метку, и ниже будет опция EXPORT. Экспортируйте этот сертификат и сохраните сертификат CA в выбранное вами место, убедившись, что вы выбрали сертификат X.509 (PEM) в качестве типа/формата сохранения.

например.
curl_setopt ($ ch, CURLOPT_CAINFO, getcwd(). "GeoTrustGlobalCA.crt");

Теперь сохраните его и запустить .. Вы получите данные ..

Смежные вопросы