首頁 >頭條 >php取得(curl) 帶有cookie的網頁資料收集方法

php取得(curl) 帶有cookie的網頁資料收集方法

PHP中文网
PHP中文网原創
2018-05-15 13:54:2710559瀏覽

今天早上呢小編打開我們的php中文網(www.php.cn)看到有網友在問php獲取頁面數據,需要帶cookie,不知道如何寫,我們網站的專職工程師第一時間響應並給了解決方案,這裡呢我分享給大家一起學習下php取得網頁資料。下面是網友的原文提問。

php get 網頁資料想寫一個有cookie的網頁資料收集,不知道php怎麼寫,有沒有大神解答下.擷取網址=「https://steamcommunity.com/tradeoffer/new /partnerinventory/?sessionid=29475e48124c520cf70060dc&partner=76561198124311480&appid=433850&contextid=1”

cookie="sessionid=294750&contextid=1”

cookie="sessionid=294750&con 98117047952%7C%7C512C7DB04B6A9719E1673019C075AA5ECF2B5032"
能不能寫個列子,帶詮釋的那種謝謝了這個cookie 有時限的,如果到期寫一個列子就可以了    

####我們的工作人員提供了使用CURL來違造COOKIE,大家可以看下步聚。關於curl的類型-php中文網提供了很多種類型的下載http://www.php.cn/xiazai/leiku/curl###
<?php
error_reporting(E_ALL);
ini_set(&#39;display_errors&#39;,&#39;1&#39;);
ignore_user_abort();
set_time_limit(0);
$cookie_path=&#39;./&#39;;
$vars[&#39;username&#39;]=&#39;wang&#39;;
$vars[&#39;password&#39;]=&#39;123456&#39;;
$method_post=true;
$url=&#39;http://ceshi.php.cn/user/usertop_login.asp&#39;;
$ch=curl_init();
$params[CURLOPT_URL]=$url;
$params[CURLOPT_HEADER]=0;//是否显示http头信息
$params[CURLOPT_RETURNTRANSFER]=true;
$params[CURLOPT_FOLLOWLOCATION]=0;
$params[CURLOPT_USERAGENT]=&#39;Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0&#39;;
//$params[CURLOPT_SSL_VERIFYPEER]=false;
//$params[CURLOPT_SSL_VERIFYHOST]=false;
$postfields=&#39;&#39;;
foreach($vars as $k=>$v){
    $postfields.=urlencode($k).&#39;=&#39;.urlencode($v).&#39;&&#39;; 
}
$params[CURLOPT_POST]=true;
$params[CURLOPT_POSTFIELDS]=$postfields;
if(isset($_COOKIE[&#39;cookie_jar&#39;]) && ($_COOKIE[&#39;cookie_jar&#39;] || is_file($_COOKIE[&#39;cookie_jar&#39;]))){
    $params[CURLOPT_COOKIEFILE]=$_COOKIE[&#39;cookie_jar&#39;];
}else{
    $cookie_jar=tempnam($cookie_path,&#39;cookie&#39;);//产生一个cookie文件
    $params[CURLOPT_COOKIEJAR]=$cookie_jar;//写入cookie信息
    setcookie(&#39;cookie_jar&#39;,$cookie_jar);//保存cookie路径
}
curl_setopt_array($ch,$params);
$content=curl_exec($ch);
//var_dump(strip_tags($content));
  
//第二步
$params[CURLOPT_FOLLOWLOCATION]=true;
$nexturl=&#39;http://ceshi.php.cn/user/vpsadm2.asp?id=100568&go=c&#39;;
$params[CURLOPT_URL]=$nexturl;
$params[CURLOPT_POSTFIELDS]=&#39;&#39;;
curl_setopt_array($ch,$params);
$content=curl_exec($ch);
sleep(5);
 
//第三步
$nexturl=&#39;http://ceshi.php.cn/vpsadm/selfvpsmodifyendtime.asp&#39;;
$params[CURLOPT_URL]=$nexturl;
$params[CURLOPT_POSTFIELDS]=&#39;year=9001&moneynow=10&id=100568&&#39;;
curl_setopt_array($ch,$params);
$content=curl_exec($ch);
echo strip_tags($content);
  
curl_close($ch);
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn