1

メールを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にアクセスするにはどうすればよいですか?

4

2 に答える 2

2
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_exec()ブール値以外のものを返したい場合に使用します。

于 2012-12-06T02:41:23.873 に答える
1

http://php.net/manual/en/function.curl-exec.phpによると

成功した場合はTRUEを返し、失敗した場合はFALSEを返します。ただし、CURLOPT_RETURNTRANSFERオプションが設定されている場合、成功した場合は結果を返し、失敗した場合はFALSEを返します。

CURLOPT_RETURNTRANSFER0(false)に設定されているようです。

http://php.net/manual/en/function.curl-setopt.php

于 2012-12-06T02:41:45.357 に答える