Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 服务器如何识别这不是一个人?_Php_Curl_Get - Fatal编程技术网

Php 服务器如何识别这不是一个人?

Php 服务器如何识别这不是一个人?,php,curl,get,Php,Curl,Get,我需要从filmix.net/uzasy/14482-tayna-bermudskogo-treugolnika-the-bermuda-triangle-1987.html获取flv文件 当我通过浏览器链接到服务器时。我找到的flv文件,它可以保存该文件 当我编写php脚本时,链接不起作用 video-10.filmix.net/s/37d6764a8f8e43bd754f53431c2e79ce//u 02/The.Bermuda.Triangle.1978.DVDRip.flv-工作 vi

我需要从filmix.net/uzasy/14482-tayna-bermudskogo-treugolnika-the-bermuda-triangle-1987.html获取flv文件 当我通过浏览器链接到服务器时。我找到的flv文件,它可以保存该文件

当我编写php脚本时,链接不起作用

video-10.filmix.net/s/37d6764a8f8e43bd754f53431c2e79ce//u 02/The.Bermuda.Triangle.1978.DVDRip.flv-工作 video-10.filmix.net/s/d93d70a78428816b714882c678c39230//u 02/The.Bermuda.Triangle.1978.DVDRip.flv-不工作

我试过这样做:

$viart_xml = fsockopen("filmix.net", 80, $errno, $errstr, 12); 

   fputs($viart_xml, "GET /uzhasy/14482-tayna-bermudskogo-treugolnika-the-bermuda-triangle-1987.html HTTP/1.1\r\n"); 
   fputs($viart_xml, "Host: filmix.net\r\n"); 
  fputs($viart_xml, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13\r\n\r\n"); 
fputs($viart_xml, "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
fputs($viart_xml, "Accept-Encoding: gzip,deflate\r\n");
  fputs($viart_xml, "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n");
  fputs($viart_xml, "Keep-Alive: 115\r\n");
  fputs($viart_xml, "Connection: keep-alive\r\n\r\n");


if (!$viart_xml) { 
   echo "$errstr ($errno)<br />\n"; 
} else { 
   $content = ""; 
   while (!feof($viart_xml)) { 
       $content .= fgets($viart_xml, 1000000); 

   } 
   fclose($viart_xml); 
   echo $content; 

为什么链接不同?

您没有会话信息。可能会有一个cookie集阻止与flv文件的深度链接。

您注意到那些十六进制代码了吗

37d6764a8f8e43bd754f53431c2e79ce
d93d70a78428816b714882c678c39230
在我看来,通过这种快速的逆向工程,这些是某种一次性的控制代码

这些代码可能(我说可能,因为我不知道)

  • 限制文件下载1次(刷新页面时会生成新代码)
  • 绑定到您的IP(因此,如果您从其他服务器运行PHP,他们会发现您在作弊)
  • 绑定到会话和/或一些cookie,您应该在抓取器中模拟它们
我的答案是 您的代码不能破坏此下载保护,因为至少有一个以上原因(或更多未知原因),但这并非不可能。我不知道“道德”如何帮助你滥用下载(如果你不看网页上的广告或者不能重新发布内容,内容提供商肯定会不高兴)


顺便说一句,很多开发者每天都会破坏YouTube实施的每一项FLV保护,这就是YT下载者存在的原因。这同样适用于您,只需付出更多努力并使用更多Wireshark;)

限制文件下载1次(刷新页面时会生成新代码) 绑定到您的IP(因此,如果您从其他服务器运行PHP,他们会发现您在作弊)
绑定到会话和/或一些cookie,您应该在抓取器中模拟它们。使用http抓取器

Cookie:name查看值1常量,我使用sript来本地宿主-是工作。但我不明白,因为什么
37d6764a8f8e43bd754f53431c2e79ce
d93d70a78428816b714882c678c39230