我有一个PHP脚本,只返回纯文本没有任何html。现在我想打一个卷曲的请求到该脚本,我得到如下回应:如何从CURL响应中删除HTTP标头?
HTTP/1.1 200 OK
Date: Mon, 28 Feb 2011 14:21:51 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.2.12-nmm2
Vary: Accept-Encoding
Content-Length: 6
Content-Type: text/html
6.8320
的实际工作中的反应仅仅是6.8320因为没有任何HTML文本。我想通过删除标题信息从上述响应中检索它。
我已经过压缩剧本了一下:
$url = $_GET['url'];
if (!$url) {
// Passed url not specified.
$contents = 'ERROR: url not specified';
$status = array('http_code' => 'ERROR');
} else if (!preg_match($valid_url_regex, $url)) {
// Passed url doesn't match $valid_url_regex.
$contents = 'ERROR: invalid url';
$status = array('http_code' => 'ERROR');
} else {
$ch = curl_init($url);
if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
}
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_GET['user_agent'] ? $_GET['user_agent'] : $_SERVER['HTTP_USER_AGENT']);
list($header, $contents) = preg_split('/([\r\n][\r\n])\\1/', curl_exec($ch), 2);
$status = curl_getinfo($ch);
curl_close($ch);
}
// Split header text into an array.
$header_text = preg_split('/[\r\n]+/', $header);
if (true) {
if (!$enable_native) {
$contents = 'ERROR: invalid mode';
$status = array('http_code' => 'ERROR');
}
// Propagate headers to response.
foreach ($header_text as $header) {
if (preg_match('/^(?:Content-Type|Content-Language|Set-Cookie):/i', $header)) {
header($header);
}
}
print $contents;
}
任何想法,我需要改变,以除去从响应的头信息?
的'内容type'头是错误的! – reinierpost 2012-10-19 07:15:37
可能重新标题提及它是PHP,我正在寻找命令行卷曲 – 2012-11-21 07:41:55