使用浏览器的PHPSESSID进行CURL

时间:2017-11-13 12:57:46

标签: php curl cookies

我正在尝试使用与客户端浏览器相同的会话(PHPSESSID)发出CURL请求。我尝试了很多东西并寻找答案,却找不到任何答案。这是我到目前为止的代码:

session_start();
$strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/';
session_write_close();

$url="http://example.com";

$useragent = $_SERVER['HTTP_USER_AGENT'];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url . '/login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_COOKIE, $strCookie);
$response = curl_exec($ch);

var_dump($response);

CURLOPT_COOKIE应该使用请求设置PHPSESSID,但是当我调试CURL请求时它似乎只生成一个新的PHPSESSID,因此它不等于我的浏览器的PHPSESSID。

我也尝试过使用CURLOPT_COOKIEJAR和CURLOPT_COOKIEFILE,但它们似乎只是覆盖了现有浏览器的PHPSESSID。

这两个页​​面都位于同一个域中。

0 个答案:

没有答案