使用浏览器的PHPSESSID进行CURL

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

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

$ url =“http://example.com”;

$ useragent = $ _SERVER ['HTTP_USER_AGENT'];

$ ch = curl_init ();

| ncurl_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); \ n </ code> </ pre>

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

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

这两个页​​面都位于同一个域中。</ p>
</ div>

展开原文

原文

I'm trying to make an CURL request with the same session (PHPSESSID) as the client's browser. I tried a lot of things and searched for an answer but couldn't find any. This is the code I have so far:

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 should set the PHPSESSID with the request but it just seems to generate a new PHPSESSID when I debug the CURL request and so it is not equal to my browser's PHPSESSID.

I also tried using the CURLOPT_COOKIEJAR and CURLOPT_COOKIEFILE but they just seem to overwrite my existing browser's PHPSESSID.

Both the pages are on the same domain.

dongyun8138
dongyun8138 那么它是一个我还没有经验的开源cms,所以我认为这将是更简单的方法。但是这个CURLOPT_COOKIE对我不起作用似乎很奇怪?
接近 3 年之前 回复
duanchi19820419
duanchi19820419 这就引出了一个问题,你为什么要使用curl?你能不能只调用其他请求中使用的代码?
接近 3 年之前 回复
dslkchyv673627
dslkchyv673627 两者都在同一个子域中。我用DevTools检查了两个页面,两个页面都有相同的PHPSESSID。
接近 3 年之前 回复
douxianliu6756
douxianliu6756 相同的域名,不同的子域名?
接近 3 年之前 回复
dongyunwei8596
dongyunwei8596 该网站是我自己的网站之一,因此它位于同一个域名中。它确实使用会话cookie。
接近 3 年之前 回复
douliao2493
douliao2493 您正在尝试使用基于PHP的网站吗?是否使用会话cookie?它使用那个键吗?即使这样,除非这是你自己的网站之一,你试图卷曲(并有会话共享),否则外部网站的ID可能无法与你的网站匹配。
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐