PHP curl可以在一个请求中返回一个带有主体和头的对象吗?
curl能否返回头和体作为单独属性的对象 这就是我现在正在做的。这将返回一个字符串(?),首先是标题,然后是正文:PHP curl可以在一个请求中返回一个带有主体和头的对象吗?,php,curl,Php,Curl,curl能否返回头和体作为单独属性的对象 这就是我现在正在做的。这将返回一个字符串(?),首先是标题,然后是正文: $session = curl_init($url); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); curl_setopt($session, CURLOPT_HEADER, true); $response = curl_exec($session); echo $response; // string 我想要的是:
$session = curl_init($url);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session, CURLOPT_HEADER, true);
$response = curl_exec($session);
echo $response; // string
我想要的是:
...
$response = curl_exec($session);
$header = $response->headers;
$body = $response->body;
我看到了一个类似的问题,建议同时请求头和正文,然后解析结果。我不是问这个
我特别要求返回一个对象
,其主体和标题作为单独的属性
如果答案是“不,那不可能”,那么我会接受这个答案。我也会接受“No
curl
不会这样做,但这里有另一个名为swurl
(或其他任何名称)的函数,它返回一个对象…”标题和正文之间用一个空行分隔,您可以在上面拆分:
[$headers, $body] = explode("\r\n\r\n", $response, 2);
面向对象的企业版:
$response = new stdClass();
[$response->headers, $response->body] = explode("\r\n\r\n", curl_exec($session), 2);
纯卷曲:不;是的,你需要多做一点工作。在副本中有几种方法,一定要看前4条。@AbraCadaver我先读了一遍。我的问题不同。这不是重复的。嗨,请重新打开。我已经读过那个问题了我的问题不是duplicate@abracadaver我对我需要的东西非常明确。您已将此标记为重复。事实并非如此。请重新打开。他说他不想这样做(无论出于什么原因)@nogad这个答案表明,将标题和正文分开是多么微不足道。创建一个stdClass对象并设置两个属性同样简单。实际上是两行代码。这正是OP所要求的。@arkascha我完全同意我认为这个问题很愚蠢,但这正是OP想要的,这正是我所想的两条线路:-)@1.21gigawatts我不认为有这个要求,只是顺便提一下其他答案是这样做的,但你不想(不解释原因)。如果您不能执行此答案中的任何代码,请解释为什么不能执行?当你尝试的时候,有没有什么东西在积极地阻止你?如果您只是不喜欢使用stdClass那么
explode
就足以让您围绕curl.*
函数创建自己的包装类,甚至可以继承它并重载curl\u exec
,也可以使用explode