php curl 去掉头部,php – 如何从CURL响应中删除HTTP标头?

我有一个php脚本,只返回纯文本,没有任何html。现在我想对该脚本做一个cURL请求,我得到以下响应:

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;

}

任何想法我需要改变以从响应中删除标题信息?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值