【问题标题】:PHPSESSID and cURLPHPSESSID 和 cURL
【发布时间】:2013-08-19 10:28:40
【问题描述】:

我想从这个网站获取游戏列表 http://www.basket.ee/ Hooaeg:2012/2013 -> G4S KML -> Ajakava/tulemused -> põhiturniir

可以通过输入此 URL http://www.basket.ee/index.php?mid=469&round=1&sid=2013&chid=001&tase=1 来访问该页面,但是您需要先获取 PHPSESSID cookie。 我无法这样做。你知道如何获取这个 cookie 吗?

【问题讨论】:

  • 有一个名为 'Tamper Data' 的 firefox 插件,用它来查找会话和 cookie,然后使用 CURL 访问页面并保持会话处于活动状态。

标签: curl web-scraping php


【解决方案1】:

您还可以使用 curl 来存储 cookiedata(和会话内容)。所以基本上,你先访问主站点,然后转到子网址。示例代码:

$mainurl = "http://www.basket.ee/"
$ripurl = "http://www.basket.ee/index.php?mid=469&round=1&sid=2013&chid=001&tase=1"
//Put cookie file
$cookieFile = "cookie.txt";

//if file doesn't exist
if(!file_exists($cookieFile)) {
    //fopen for writing
    $fh = fopen($cookieFile, "w");
    //write
    fwrite($fh, "");
    //close
    fclose($fh);
}

//Start session for first login
$ch = curl_init();
//Load curl
curl_setopt($ch, CURLOPT_URL, $mainurl);
//Set cookie file
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
//do not return data
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute curl and close
curl_exec($ch);
curl_close ($ch);

//startup curl again
$ch = curl_init($urlxml);
//cookie stuff
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);

//store curl result in var
$rawdata=curl_exec($ch);

//Close curl
curl_close ($ch);

echo $rawdata;

您可以使用它将会话存储到 cookie 变量中。这让用户认为你是普通用户浏览。

【讨论】:

  • 没错,但我应该能够在使用 CURLOPT_HEADER=>1 选项时看到该变量,对吧?不幸的是,它似乎没有用。
  • 你可以读出cookie var。我能问一下你为什么需要会话 ID 吗?
  • 当然我已经尝试过您发布的这样的代码,但是由于缺少会话ID,它没有工作。您可以尝试打开浏览器进入主页,然后粘贴上述网址。
  • 只有在设置了一些其他 cookie/POST 变量时才会起作用,例如CURLOPT_POSTFIELDS=>'periodSelector=2013',但这不是重点。最重要的是会话 ID
【解决方案2】:

你可以在终端上试试

curl -v  http://www.basket.ee/

或者您可以尝试查看是否可以在 Chrome 中 Inspect Element 选项的 Network 中出现的文件之一中获取信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2021-01-18
    • 2010-11-25
    • 2014-12-28
    • 2019-06-05
    相关资源
    最近更新 更多