gpt4 book ai didi

php - file_get_contents() 突然不起作用

转载 作者:行者123 更新时间:2023-12-02 21:23:50 26 4
gpt4 key购买 nike

这是我的全部代码:

<html>
<body>
<form>
Playlist to Scrape: <input type="text" name="url" placeholder="Playlist URL">
<input type="submit">
</form>


<?php

if(isset($_GET['url'])){

$source = file_get_contents($_GET['url']);
$regex = '/<a href="(.*?)" class="gothere pl-button" title="/';

preg_match_all($regex,$source,$output);
echo "<textarea cols=100 rows=50>";
$fullUrl = array();
foreach($output[1] as $url){
array_push($fullUrl,"http://soundcloud.com".$url);
}
$final = implode(";",$fullUrl);
echo $final;
echo "</textarea>";
}else{
echo "borks";
}


?>
</body>
</html>

昨天,一切顺利。代码应该执行的操作是:获取 Soundcloud URL,提取各个歌曲,然后像 Song1;song2;song3 这样打印它们

再说一遍,昨天效果很好,我想从那以后我就没有改变任何东西......

我尝试注释掉其他代码,只保留 $source = file_get_contents($_GET['url']);并回显 $source,但它返回空白,这让我认为这是 file_get_contents 的问题。

如果您知道为什么会发生这种情况,我将不胜感激。谢谢!

最佳答案

可能发生的情况是 file_get_contents 尝试访问的服务器上安装了新的 SSL 证书。在我们的例子中,目标服务器在其域上安装了来自另一个供应商和另一个通配符域的新 SSL 证书。

稍微改变一下我们的配置就可以解决这个问题。

 $opts = array(
'http' => array(
'method' => "GET",
'header' => "Content-Type: application/json\r\n".
"Accept: application/json\r\n",
'ignore_errors' => true
),
// VVVVV The extra config that fixed it
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
)
// ^^^^^
);
$context = stream_context_create($opts);
$result = file_get_contents(THE_URL_WITH_A_CHANGED_CERTIFICATE, false, $context);

感谢this answer,我找到了这个解决方案。它甚至被否决了。

这无疑解释了 file_get_contents 突然停止工作的事实。

关于php - file_get_contents() 突然不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25983401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com