我正在尝试获取会话值并存储在变量中......如何才能完成?
示例:
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
print_r(curl_getinfo($ch));
输出:
[request_header] => POST /customer.jsp?c=4 HTTP/1.1
Host: webdadasasd.co.uk
Accept: */*
Cookie: JSESSIONID=0000-dsfsdfsdf-sdfsdfsd_:fsdfsdfds
Content-Length: 54
Content-Type: application/x-www-form-urlencoded )
我想要像这样得到Cookie值:JSESSIONID = 0000-dsfsdfsdf-sdfsdfsd_:fsdfsdfds
答案 0 :(得分:3)
使用php的http_parse_headers。 (需要pecl_http) 如果你没有/想要pecl_http,你可以在php手册页上找到讨论的替代方案。
答案 1 :(得分:0)
你可以不做以下的事吗?
preg_match('/^Cookie: (\w\d)+/m', curl-getinfo($ch), $matches);
正则表达式不是那么好 - 它可能需要收紧我所使用的子模式。但是,我刚刚测试了正则表达式,它按预期工作。希望有所帮助。
答案 2 :(得分:0)
我认为[request_header]是单个值,所以我会使用以下正则表达式:
preg_match('/Cookie: ([[:graph:]]+)/', curl-getinfo($ch)['request_header'], $matches);
echo $matches[1];
使用http://www.quanetic.com/Regex
进行测试参考:http://www.php.net/manual/en/regexp.reference.character-classes.php