Maison  >  Article  >  PHP obtient (curl) la méthode de collecte de données de page Web avec des cookies

PHP obtient (curl) la méthode de collecte de données de page Web avec des cookies

PHP中文网
PHP中文网original
2018-05-15 13:54:2710506parcourir

Ce matin, l'éditeur a ouvert notre site Web PHP chinois (www.php.cn) et a vu que certains internautes demandaient à PHP d'obtenir les données de la page. Ils ne savaient pas comment les écrire. Les ingénieurs à temps plein du site Web ont répondu immédiatement et ont proposé une solution. Ici, je la partage avec tout le monde pour apprendre à obtenir des données de page Web en PHP. Vous trouverez ci-dessous la question originale d'un internaute.

php obtenir les données d'une page Web Je souhaite écrire une collection de données de page Web avec des cookies. Je ne sais pas comment l'écrire en php. Quelqu'un peut-il me donner une réponse ? https://steamcommunity.com/tradeoffer/new /partnerinventory/?sessionid=29475e48124c520cf70060dc&partner=76561198124311480&appid=433850&contextid=1”

cookie="sessionid=29475e48124c520cf70060d c;sLogteamin Secure=76561198117047952%7C%7C512C7DB04B6A9719E1673019C075AA5ECF2B5032"
Peut vous écrivez un exemple avec explication ? Merci. Ce cookie a une limite de temps S'il expire, écrivez simplement un exemple

Notre personnel propose l'utilisation de CURL pour violer le COOKIE. la prochaine étape. Concernant les types de curl-php, le site Web chinois propose de nombreux types de téléchargements 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);
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn