Php 文件\u获取\u内容不获取文件内容?
我使用了一个简单的file\u get\u contents函数,但它没有得到该函数的实际内容(输出) 我想不出这个错误 代码: 检查你的网址 当我把你的url放进浏览器时,它什么也不给,所以Php 文件\u获取\u内容不获取文件内容?,php,file,file-get-contents,Php,File,File Get Contents,我使用了一个简单的file\u get\u contents函数,但它没有得到该函数的实际内容(输出) 我想不出这个错误 代码: 检查你的网址 当我把你的url放进浏览器时,它什么也不给,所以file\u get\u contents返回一个空字符串 您需要检查file\u get\u contents的输出,如下所示: if($data !== false) 而不是 if($data) 我还得到一个HTTP响应500。为了抓取Youtube,您可能必须欺骗呼叫的用户代理和其他措施,以防止Y
file\u get\u contents
返回一个空字符串
您需要检查file\u get\u contents
的输出,如下所示:
if($data !== false)
而不是
if($data)
我还得到一个HTTP响应500。为了抓取Youtube,您可能必须欺骗呼叫的用户代理和其他措施,以防止Youtube将您识别为抓取者。我在以下位置获得一个
HTTP 403
:
响应标题:
内容类型:文本/纯文本
日期:2010年9月21日星期二09:59:13 GMT
代理连接:关闭
服务器:GVS1.0
Via:1.0proxy3@XXXXX.sch.uk:8080(squid/2.6.STABLE19),1.0 wcsproxy.XXXX.org.uk:8080(squid/2.6.STABLE19)
X-Cache:来自的未命中proxy3@XXX.sch.uk,来自wcsproxy.XXX.org.uk的小姐
X-Content-Type-Options:nosniff
嗯,当我试图加载您在
$flv\u http\u path
中引用的URL时,我得到了:
HTTP/1.1 403 Forbidden
Content-Type: text/plain
Connection: close
X-Content-Type-Options: nosniff
Date: Tue, 21 Sep 2010 09:57:19 GMT
Server: gvs 1.0
作为回报
这应该给你一个线索:)
如果这不是您试图打开的acutal文件,并且您实际上没有试图刮取youtube,那么您应该尝试将url包装到urlencode()edit:但是url已经是urlencoded(duh!)
“如果要打开带有特殊字符(如空格)的URI,则需要使用urlencode()对URI进行编码。”--链接为空。在浏览器中启动链接并检查源代码。没有数据。这是一种防止您自动获取他们的flv文件的方法 您无法从服务器获取文件,因为下载链接(您从浏览器获取的链接,或者您如何找到flv链接)已锁定到浏览器 这就是为什么当你以外的人尝试调用链接时,我们都会禁止403 HTTP,即使是使用伪造的用户代理
尝试使用cURL并显示标题,您将了解我的意思。基本调试告诉您什么?转动
错误报告时出现的任何错误(E_ALL)代码>打开?它不会打印任何错误。。它只需打印url,然后在两种情况下执行else循环..我从youtube的http live Header中获得该url..通常最好使用适当的http库打开url,如curl或其他,这样您就可以获得响应头并查看发生了什么。我尝试了,但没有输出。。当我在浏览器中尝试该url时,会弹出一个窗口询问是否保存或打开该文件。另外,您可以查看是否启用了allow_url_fopen。或者你可以用cURL试试。如果我用cURL,怎么能从youtube发送的实时标题列表中匹配出准确的标题呢?即使你匹配了准确的标题,也不行。因为您从live Header获得的链接锁定到您的IP,而不是服务器。我只是建议使用cURL,因为这样你就可以在服务器调用中看到来自youtube的403消息。(我说得通吗?)
if($data)
HTTP/1.1 403 Forbidden
Content-Type: text/plain
Connection: close
X-Content-Type-Options: nosniff
Date: Tue, 21 Sep 2010 09:57:19 GMT
Server: gvs 1.0