我正在尝试用curl查看我的电子邮件。
我有一个连接到gmail的功能:
function check_email($url)
{
// sendRequest
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
$curlData = curl_exec($curl);
curl_close($curl);
//returning retrieved message
return $curlData;
}
当我调用该函数并回显它($email = check_email($ur);
echo $email;
)时,gmail会向我发送一些HTML而不是显示消息:
<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="-very large url-">here</A>.
</BODY>
</HTML>
所以我想提取"-very large url-"
并卷曲到那个,但当我var_dump($email)
它说它是一个布尔!为什么它返回html如果它是一个布尔值,我怎么能通过PHP获得前面提到的HTML?
答案 0 :(得分:2)
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
如果希望curl_exec()
返回除布尔值以外的任何内容,则应使用
答案 1 :(得分:1)
http://php.net/manual/en/function.curl-exec.php说
成功时返回TRUE,失败时返回FALSE。但是,如果 设置CURLOPT_RETURNTRANSFER选项后,它将返回结果 成功,失败就错了。
看起来你已将CURLOPT_RETURNTRANSFER
设置为0(错误)。