Postingan lainnya
Get url on page using curl and get response status
sobat sekolah koding mohon bantuanya ya saya ada sebuah curl yang dibuat untuk mengambil sebuah Url pada link tersebut yang nantinya akan di tampilkan pada echo, nah kalau ada yang bisa bantu gimana cara get by spesific character / domain dan respons status httpnya 404 atau yg lainya, terimakasih.
<?php
$url = 'https://sekolahkoding.com';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
$data = curl_exec($curl);
libxml_use_internal_errors(true);
$dom = new DOMDocument;
if($dom->loadHTML($data, LIBXML_NOWARNING)){
echo '';
foreach($dom->getElementsByTagName('a') as $link) {
$href = $link->getAttribute('href');
echo $href."<br>";
}
echo '</pre>';
}else{
echo "Failed to load html.";
}
?>
1 Jawaban:
Jawaban Terpilih
untu get url on page using Curl saya mengambil datanya dari curl dan di convert menggunakan function DOMDocument pada php
dan mengambilnya dengan $link->getAttribute('href');
dengan full code seperti ini :
<pre> <?php $url = 'https://sekolahkoding.com'; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); $data = curl_exec($curl); libxml_use_internal_errors(true);
$dom = new DOMDocument; if($dom->loadHTML($data, LIBXML_NOWARNING)){ echo '<pre>'; foreach($dom->getElementsByTagName('a') as $link) { $href = $link->getAttribute('href'); if (preg_match("^http?://[a-z.]+.sekolahkoding(.[a-z.]+)?/?$^", $href, $matches)) { echo array_shift($matches)."<br>"; } else {}
}
echo '</pre>';
}else{ echo "Failed to load html."; }
?> </pre>
Tanggapan
untuk forum, tulis jawabannya ya, lalu ditandai sebagai jawaban benar, agar orang berikutnya bisa belajar
sudah ya bang