php 怎么取Array值
程序员文章站
2024-02-09 19:54:34
...
php 如何取Array值。
用get_headers,如何取到网页头Cookie值。
------解决方案--------------------
------解决方案--------------------
get_headers(); 第二个参数可以让响应标题作为键名
还有一些网站是以 set-cookie 响应,而不是Set-Cookie 这样的。所以程序还是有一些Bug,你可以自己去实现,不过我更推荐你使用 curl
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Mon, 24 Dec 2012 16:15:18 GMT
[2] => Server: BWS/1.0
[3] => Content-Length: 9888
[4] => Content-Type: text/html;charset=gbk
[5] => Cache-Control: private
[6] => Expires: Mon, 24 Dec 2012 16:15:18 GMT
[7] => Set-Cookie: BAIDUID=9AFFEA9B11EC8D358FC1A13A8DCC83F9:FG=1; expires=Mon, 24-Dec-42 16:15:18 GMT; path=/; domain=.baidu.com
[8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "
[9] => Connection: Close
)
用get_headers,如何取到网页头Cookie值。
------解决方案--------------------
$array = array('Set-Cookie: BAIDUID=9AFFEA9B11EC8D358FC1A13A8DCC83F9:FG=1; expires=Mon, 24-Dec-42 16:15:18 GMT; path=/; domain=.baidu.com');
foreach ($array as $value) {
if (stripos($value, 'Set-Cookie') !== false)
echo $value;
}
------解决方案--------------------
get_headers(); 第二个参数可以让响应标题作为键名
$header = get_headers('http://www.baidu.com/', true);
$c = $header['Set-Cookie'];
// 响应头里可以包含多个 Set-Cookie,所以统一为数组处理
if( ! is_array($c) ) $c = array($c);
foreach($c as $i){
$s = explode('=', substr($i, 0, strpos($i, ';')), 2);
$cookie[$s[0]] = $s[1];
}
var_dump( $cookie);
还有一些网站是以 set-cookie 响应,而不是Set-Cookie 这样的。所以程序还是有一些Bug,你可以自己去实现,不过我更推荐你使用 curl
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: 正则表达式使用详解(一)
下一篇: 插入数据库的处理有关问题
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论