今天早上呢小編打開我們的php中文網(www.php.cn)看到有網友在問php獲取頁面數據,需要帶cookie,不知道如何寫,我們網站的專職工程師第一時間響應並給了解決方案,這裡呢我分享給大家一起學習下php取得網頁資料。下面是網友的原文提問。
能不能寫個列子,帶詮釋的那種謝謝了這個cookie 有時限的,如果到期寫一個列子就可以了 ####我們的工作人員提供了使用CURL來違造COOKIE,大家可以看下步聚。關於curl的類型-php中文網提供了很多種類型的下載http://www.php.cn/xiazai/leiku/curl###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"
<?php error_reporting(E_ALL); ini_set('display_errors','1'); ignore_user_abort(); set_time_limit(0); $cookie_path='./'; $vars['username']='wang'; $vars['password']='123456'; $method_post=true; $url='http://ceshi.php.cn/user/usertop_login.asp'; $ch=curl_init(); $params[CURLOPT_URL]=$url; $params[CURLOPT_HEADER]=0;//是否显示http头信息 $params[CURLOPT_RETURNTRANSFER]=true; $params[CURLOPT_FOLLOWLOCATION]=0; $params[CURLOPT_USERAGENT]='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0'; //$params[CURLOPT_SSL_VERIFYPEER]=false; //$params[CURLOPT_SSL_VERIFYHOST]=false; $postfields=''; foreach($vars as $k=>$v){ $postfields.=urlencode($k).'='.urlencode($v).'&'; } $params[CURLOPT_POST]=true; $params[CURLOPT_POSTFIELDS]=$postfields; if(isset($_COOKIE['cookie_jar']) && ($_COOKIE['cookie_jar'] || is_file($_COOKIE['cookie_jar']))){ $params[CURLOPT_COOKIEFILE]=$_COOKIE['cookie_jar']; }else{ $cookie_jar=tempnam($cookie_path,'cookie');//产生一个cookie文件 $params[CURLOPT_COOKIEJAR]=$cookie_jar;//写入cookie信息 setcookie('cookie_jar',$cookie_jar);//保存cookie路径 } curl_setopt_array($ch,$params); $content=curl_exec($ch); //var_dump(strip_tags($content)); //第二步 $params[CURLOPT_FOLLOWLOCATION]=true; $nexturl='http://ceshi.php.cn/user/vpsadm2.asp?id=100568&go=c'; $params[CURLOPT_URL]=$nexturl; $params[CURLOPT_POSTFIELDS]=''; curl_setopt_array($ch,$params); $content=curl_exec($ch); sleep(5); //第三步 $nexturl='http://ceshi.php.cn/vpsadm/selfvpsmodifyendtime.asp'; $params[CURLOPT_URL]=$nexturl; $params[CURLOPT_POSTFIELDS]='year=9001&moneynow=10&id=100568&'; curl_setopt_array($ch,$params); $content=curl_exec($ch); echo strip_tags($content); curl_close($ch);