用curl抓取http响应头

时间:2015-01-09 05:53:10

标签: php regex curl

我使用curl --interface ip_goes here -I -L https://www.youtube.com/来获取http标头,但我想将HTTP/1.1 200 OK存储在变量中。我可以用preg_match来做,但我想知道是否有更有效的解决方案

HTTP/1.1 200 OK
Date: Fri, 09 Jan 2015 05:49:12 GMT
Server: gwiseguy/2.0
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Frame-Options: SAMEORIGIN
Expires: Tue, 27 Apr 1971 19:44:06 EST
P3P: CP="This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info."
X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube
X-Content-Type-Options: nosniff
Alternate-Protocol: 443:quic,p=0.02
Transfer-Encoding: chunked
Set-Cookie: YSC=zCtzROldgfs; path=/; domain=.youtube.com; HttpOnly
Set-Cookie: VISITOR_INFO1_LIVE=Oz-yH5fLujM; expires=Wed, 09-Sep-2015 17:42:11 GMT; path=/; domain=.youtube.com

2 个答案:

答案 0 :(得分:1)

使用此命令

  

curl --interface ip_goes_here -s -I -L https://www.youtube.com/ |头   -1

注意静音

的附加-s

答案 1 :(得分:0)

试试这个:

$str="HTTP/1.1 200 OK
Date: Fri, 09 Jan 2015 05:49:12 GMT
Server: gwiseguy/2.0
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Frame-Options: SAMEORIGIN 
more string....";
    $a=explode("\n",$str);
    var_dump($a[0]);

输出: string 'HTTP/1.1 200 OK'