卷曲 - 获得JSESSIONID

时间:2011-06-29 14:56:22

标签: php cookies curl

我正在尝试获取会话值并存储在变量中......如何才能完成?

示例:

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

3 个答案:

答案 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