使用https的File_get_contents,通过热链接提取图像 [英] File_get_contents with https, extract images with hotlinking
本文介绍了使用https的File_get_contents,通过热链接提取图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我想从此网站https://animeflv.net/中提取图片,当我得到它时,会给我错误1011,因为它表示您的网络已激活Hotlinking。
注意:错误仅在显示时显示,图像不显示。
我尝试过:
Hello, I want to extract images from this web "https://animeflv.net/" and when I get it gives me "Error 1011" because it says that your web has activated "Hotlinking".
Note: The error is only when displaying it, the images are not displayed.
What I have tried:
function https($url){
$cookie_file_path = "c:/cookiefile";//o lo que sea
$LOGINURL = $url;
//$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36';
$POSTFIELDS = 'user=usuario&pass=password';//o lo que sea
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL,$LOGINURL);
//curl_setopt($ch, CURLOPT_REFERER, $LOGINURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$page = curl_exec ($ch);
curl_close ($ch);
return $page;
}
$html = https("https://animeflv.net/");
$patron = "'<ul class=\"ListAnimes AX Rows A06 C04 D03\">(.*?)</ul>'si";
preg_match_all($patron, $html, $sujet);
//echo "Numero --> ".count($sujet[1])."<br/>";
//var_dump($sujet);
for ($i=0; $i < count($sujet[0]); $i++) {
$patron_li = "'<li>(.*?)</li>'si";
preg_match_all($patron_li, $sujet[1][0], $li);
for ($li_content=0; $li_content < count($li[1]); $li_content++) {
//echo "----------------------"."<br/>";
$patron_link = "'<a href=\"(.*?)\">'";
$patron_img = "'<img src=\"(.*?)\" alt=\"(.*?)\">'si";
$patron_titulo = "'<h3 class=\"Title\">(.*?)</h3>'si";
preg_match($patron_link, $li[1][$li_content], $link_a);
preg_match($patron_img, $li[1][$li_content], $link_img);
preg_match($patron_titulo, $li[1][$li_content], $link_titulo);
$_Url = "https://animeflv.net";
$link = $link_a[1];
$img = $_Url.$link_img[1];
$img_alt = $link_img[2];
$titulo = $link_titulo[1];
echo '<img src="'.$img.'" alt="'.$img_alt.'" itemprop="image" data-original="'.$img_alt.'"/>';
//$imagedata = file_get_contents($img);
//$base64 = base64_encode($img);
//echo '<img src="data:image/jpg;base64,'.$base64.'" />';
//echo '<a href="'.$img.'" >'.$img.'</a><br/>';
}
//echo "Numero --> ".count($li[1])."<br/>";
}
推荐答案
url){
cookie_file_path = c:/ cookiefile; // o lo que sea
cookie_file_path = "c:/cookiefile";//o lo que sea
LOGINURL =
LOGINURL =
这篇关于使用https的File_get_contents,通过热链接提取图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文