有没有办法使用PHP获取cURL请求的标题和正文?我发现这个选项:
curl_setopt($ch, CURLOPT_HEADER, true);
Run Code Online (Sandbox Code Playgroud)
将返回身体加上标题,但后来我需要解析它以获取身体.有没有办法以更有用(和更安全)的方式获得两者?
请注意,对于"单个请求",我的意思是避免在GET/POST之前发出HEAD请求.
我不明白有什么区别
CURLOPT_RETURNTRANSFER AND
CURLOPT_BINARYTRANSFER
Run Code Online (Sandbox Code Playgroud)
我写了一个脚本来检查它
<?php
$image_url = "http://localhost/curl/img1.png";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $image_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
$image = curl_exec($ch);
curl_close($ch);
header("Content-type: image/jpeg");
print $image;
?>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我删除该行,我将获得在浏览器中显示的图像
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
Run Code Online (Sandbox Code Playgroud)
我仍然可以在浏览器中显示图像.
现在,如果我删除该行
header("Content-type: image/jpeg");
Run Code Online (Sandbox Code Playgroud)
然后iget二进制数据显示在浏览器中(看起来像垃圾)两种情况下我是否删除curl_setopt($ ch,CURLOPT_BINARYTRANSFER,1); 或者我不删除.那么这个选项有什么区别CURLOPT_BINARYTRANSFER?