我做了一些卷曲过程,有些网站必须设置CURLOPT_HEADER, true
,这样才能获得html代码。
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_HEADER, true);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch2);
curl_close($ch2);
echo $html;
返回数据如:
HTTP/1.0 200 OK Date: Wed, 14 Nov 2012 17:58:26 GMT Expires: Wed, 14 Nov 2012 18:08:26 GMT Cache-Control: max-age=600...
<html...
那么如何在<html>
之前删除一些数据(CURLOPT_HEADER返回数据:HTTP / 1.0 200 OK ...)?
答案 0 :(得分:9)
CURLOPT_HEADER
不会影响网站返回给您的内容。你可以删除它,如果你得到空的内容 - 那么其他的东西就错了。
CURLOPT_HEADER
只是为了您的方便,所以您可以看到服务器回复您的脚本。一些Web API在标题中传递数据,这允许您访问它。
您可以像这样分割标题中的内容
list($header, $body) = explode("\r\n\r\n", $content, 2); // Notice the "2" limit!
答案 1 :(得分:2)
接受答案中的解决方案很简单,但如果重定向响应,它将无法按预期工作。
这是另一种适用于重定向的解决方案,但需要更多行:
static void test (btDynamicsWorld *world, btScalar timeStep)
{
int numManifolds = world->getDispatcher()->getNumManifolds();
if(numManifolds >= 1)
{
cout << "collision" << endl;
glClearColor(0.0,0.7,0.8,1.0);
}
else if(numManifolds < 1)
{
glClearColor(0.0,0.3,0.8,1.0);
}