我在Facebook上看到了一张图片。我想通过图像搜索系统运行它,类似于Tin Eye。手动完成这么多次后,我写了一个Chrome扩展程序。它失败了,远程页面不断变为403.所以我把它传递给我自己的网络服务器而不是我的扩展程序将URL传递给我自己的网络服务器,以确定我可以下载文件,然后将URL传递给我自己的服务器。
当我尝试时,我得到了403,但是想到投入浏览器用户代理会解决这个问题。不,还是403'。有谁知道如何从Facebook抓图像?我不知道下一步该尝试什么。
传递给此代码:
<?php
if (!empty($_REQUEST["url"])) {
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" .
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n"
)
);
$context = stream_context_create($options);
$file = file_get_contents($_REQUEST["url"], false, $context);
}
?>
我尝试在浏览器中打开网址,然后返回图片。我尝试删除https并将其作为http请求,同样的问题。现在不知道。
编辑:我只是觉得这些标题可能不够,所以我解雇了Wireshark并抓住了Chrome在请求图片网址时添加的标题并添加了它们,但它没有区别:(
'header'=>"Accept-language: en-US,en;q=0.8\r\n" .
"Host: scontent-iad3-1.xx.fbcdn.net\r\n" .
"Connection: keep-alive\r\n" .
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n" .
"Upgrade-Insecure-Requests: 1\r\n" .
"Accept-Encoding: gzip, deflate, sdch\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36\r\n"