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.";

}
?>
avatar maszgalang

@maszgalang

297 Kontribusi 80 Poin


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 :
<?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');
		if (preg_match("^http?:\/\/[a-z.]+\.sekolahkoding(\.[a-z.]+)?\/?$^", $href, $matches)) {
			echo array_shift($matches)."<br>";
		} else {}

	}
	echo '
'; }else{ echo "Failed to load html."; } ?>
avatar maszgalang

@maszgalang

297 Kontribusi 80 Poin

Jawaban

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 :
<?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');
		if (preg_match("^http?:\/\/[a-z.]+\.sekolahkoding(\.[a-z.]+)?\/?$^", $href, $matches)) {
			echo array_shift($matches)."<br>";
		} else {}

	}
	echo '
'; }else{ echo "Failed to load html."; } ?>
avatar maszgalang

@maszgalang

297 Kontribusi 80 Poin

  • untuk forum, tulis jawabannya ya, lalu ditandai sebagai jawaban benar, agar orang berikutnya bisa belajar - @hilmanski
  • sudah ya bang - @maszgalang


Login untuk gabung berdiskusi