>  기사  >  PHP는 쿠키를 사용하여 웹페이지 데이터 수집 방법을 획득(컬링)합니다.

PHP는 쿠키를 사용하여 웹페이지 데이터 수집 방법을 획득(컬링)합니다.

PHP中文网
PHP中文网원래의
2018-05-15 13:54:2710414검색

오늘 아침 편집자는 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(&#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으로 문의하세요.