将Cookie从另一个域复制到我的域

时间:2013-05-14 09:54:34

标签: php regex cookies curl setcookie

我正在从exampleA.com发出cURL请求以获取其响应标头。到目前为止,这些都是我得到的一些数据:

Array
(
    [0] =>  sess=1; path=/; expires=Wed, 15-May-2013 09:25:29 GMT; domain=.exampleA.com; HttpOnly
    [1] =>  .........
)

现在这对我来说很难,我想将Cookie设置为我自己的域exampleB.com,就像我从exampleA.com获取它一样。

使用Firebug这是exampleA.com中的响应标头:

Set-Cookie:uuid2=4511997856767122744; path=/; expires=Mon, 12-Aug-2013 09:21:38 GMT; domain=.exampleA.com; HttpOnly

所以我需要将cookie设置为相同的值,但是在exampleB.com的域下。我该怎么做?

1 个答案:

答案 0 :(得分:4)

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

preg_match('/Set-Cookie:[^\r\n]+/', $response, $match); // extract cookie header
$cookie_header = preg_replace('/domain=[^;\r\n]+/', 'domain=.mydomain.com', $match[0]); // replace old domain with your domain

//echo $cookie_header;
header($cookie_header); // set cookie header