使用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