Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPSESSID和cURL_Curl_Web Scraping_Php - Fatal编程技术网

PHPSESSID和cURL

PHPSESSID和cURL,curl,web-scraping,php,Curl,Web Scraping,Php,我想从这个网站上得到一个游戏列表 Hooaeg:2012/2013->G4S KML->Ajakava/tulemused->põhiturniir 可以通过输入此URL访问页面,但是需要先获取PHPSESSID cookie。 我不能这样做。您知道如何获取此cookie吗?您还可以使用curl存储cookie数据(和会话内容)。基本上,你先访问主站点,然后转到子URL。示例代码: $mainurl = "http://www.basket.ee/" $ripurl = "http://www.

我想从这个网站上得到一个游戏列表 Hooaeg:2012/2013->G4S KML->Ajakava/tulemused->põhiturniir

可以通过输入此URL访问页面,但是需要先获取PHPSESSID cookie。
我不能这样做。您知道如何获取此cookie吗?

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

$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变量中,这会让用户相信您是正常的浏览用户。

您可以在终端上尝试

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

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

有一个名为“篡改数据”的firefox插件,使用它查找会话和cookie,然后使用CURL访问页面并保持会话活动。没错,但我应该能够在使用CURLOPT_HEADER=>1选项时看到该变量,对吗?不幸的是,它似乎没有什么用处。你可以读取cookie变量。我可以问你为什么需要会话id吗?当然,我尝试过你发布的这样一个代码,但由于缺少会话id,它不起作用。你可以尝试打开浏览器,转到主页,然后粘贴上面提到的URL。只有在设置了一些其他Cookie/POST变量(例如CURLOPT_POSTFIELDS=>'periodSelector=2013')时,它才会起作用,但这不是重点。最重要的是会话ID