gpt4 book ai didi

php - 不使用 MySQL 的资源 ID #3

转载 作者:行者123 更新时间:2023-11-30 22:53:04 24 4
gpt4 key购买 nike

我正在为我的实习构建一个品牌检查器。它的一部分是您输入名称的地方,检查器会在 Twitter 上检查用户名是否已被使用。这是我编写的代码(file_get_contents 在我的服务器上不起作用):

<?php
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, "https://twitter.com/users/username_available?username=".$z);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$twitter_contents = curl_exec($ch);
curl_close($ch);

echo $ch;
?>

$z 定义在我检查 Facebook 用户名的代码上方。它被定义为人们输入的任何可能的公司名称。

echo $ch; 输出资源 ID #3。人们到处都在谈论这不是错误,而是需要通过 var_dump() 提取的 MySQL 结果。但如您所见,我不是从 MySQL 中提取数据,而是从 Twitter.com 中提取数据。

Facebook 检查器也使用 cURL,而且它工作得很好。是的,我已经用其他变量关闭了 $ch

有人能解决我的问题吗?

编辑:我刚刚尝试了 echo(var_dump($ch));,它返回了 resource(3) of type (Unknown)

最佳答案

您回显了错误的结果。在您的代码中,您使用以下代码将结果加载到 $twitter_contents:

 $twitter_contents = curl_exec($ch);

如果您将 echo 更改为此,它应该可以工作:

echo $twitter_contents;

为了进一步解释我的回答,$ch 是您的 Curl,它是一个不返回实际页面的函数。它返回一个资源,curl_exec 获取页面的实际内容并将结果加载到一个变量中。然后您可以使用它来做其他事情。


好的,经过一些评论,我想到了这个并且它起作用了......有点......

    $url = "https://twitter.com/users/username_available?username=test"; 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result['contents']=curl_exec($ch);
$result['info']=curl_getinfo($ch);
curl_close($ch);
echo $result['contents'];

显然,我们缺少 Twitter 需要的“CURLOPT_SSL_VERIFYPEER”。

关于php - 不使用 MySQL 的资源 ID #3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505751/

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