使用PHP中的cURL功能

身体获得

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// exec時に出力させない
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);// リダイレクト許可
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);// 最大リダイレクト数
$body = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

下载

指定CURLOPT_RETURNTRANSFER是不行的。

$tempFilePath = tempnam(sys_get_temp_dir(), 'download_');
$fp = fopen($tempFilePath, 'w');
if ($fp === false)
{
    throw new \RuntimeException('失敗');
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$result = curl_exec($ch);
fclose($fp);
curl_close($ch);

if ($result === false)
{
    throw new \RuntimeException('失敗');
}

其他

重试

curl命令中的–retry选项是什么?

由于不存在,所以判断为错误。

文件传输协议

我只需要一种选项,以下是对其的中文表达方式:关心以下内容。

CURLOPT_FTP_USE_EPRT
CURLOPT_FTP_USE_EPSV

饼干

担心下列事项

CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR

发表

请关注以下事项

CURLOPT_POST
CURLOPT_POSTFIELDS ※http_build_queryを行ってから送る

如果要发送文件,请使用CURLFile。

除了GET和POST之外,用GET发送body。

关注以下事项

CURLOPT_CUSTOMREQUEST
bannerAds