오늘 아침 편집자는 PHP 중국어 웹사이트(www.php.cn)를 열었는데 일부 네티즌들이 PHP에 페이지 데이터를 가져와야 한다고 요청하는 것을 보았습니다. 그들은 우리 웹사이트 전체를 작성하는 방법을 몰랐습니다. -time 엔지니어들은 즉시 응답하여 해결책을 찾았다면 PHP를 사용하여 웹 페이지 데이터를 얻는 방법을 배우기 위해 모든 사람과 공유하겠습니다. 아래는 한 네티즌의 질문 원문입니다.
php 웹페이지 데이터 수집 쿠키를 사용하여 웹페이지 데이터 수집을 작성하고 싶습니다. PHP를 작성하는 방법을 모르겠습니다. 답변을 주실 수 있는 전문가가 있습니까? .com/tradeoffer/new/partnerinventory/?sessionid= 29475e48124c520cf70060dc&partner=76561198124311480&appid=433850&contextid=1”
cookie="sessionid=29475e48124c520cf70060dc; steamLoginSecure=76561198117047 952%7C%7C512C7DB04B6A9719E1673019C075AA5ECF2B5032"
설명이 포함된 예시를 작성해 주실 수 있나요? 감사합니다 . 이 쿠키는 시간 제한이 있습니다. 만료되면 예시를 작성하세요.
저희 직원이 CURL을 사용하여 COOKIE를 위반하도록 안내합니다. 컬-php 유형에 관해 중국 웹사이트에서는 다양한 유형의 다운로드를 제공합니다. http://www.php.cn/xiazai/leiku/curl
<?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);