我刚刚在Facebook上进行curl请求,如果遇到这个问题,我会遇到一个问题,我可以轻松地继续进行所有工作。
我的卷曲代码
function curl($url, $data=null, $ua=null, $cookie=null){
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
if($data != null){
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
if($cookie != null){
curl_setopt($c, CURLOPT_COOKIE, $cookie);
}
if($ua != null){
curl_setopt($c, CURLOPT_USERAGENT, $ua);
}
$hmm = curl_exec($c);
curl_close($c);
return $hmm;
}
$ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0';
$data = curl('https://facebook.com/', 0, $ua, 0,); //$data stores the html response of Facebook.com
print_r($data);
因此,从这段代码中我们得到了facebook.com的html响应。我遇到的问题是从html响应中获取一些值,我需要获取值输入字段。您可以在此处查看视图源:-view -source:https: //www.facebook.com 因此,请帮助我从第一种形式(表单id =“ login_form” action =“ https://www.facebook.com/login/device-based/regular/login /?login_attempt = 1&lwv = 111“ method =” post“ novalidate =” 1“ onsubmit =”“)示例:-我需要从该字段中获取(输入类型=” hidden“ name =” jazoest“ value =” 2691“ autocomplete =“ off” /)名称和值,因此我需要回显jazoest,2691和其他类似的输入字段,我尝试了preg_match,但未按预期工作,我有一个与Dom相同的示例,它具有相同的功能
将此代码与curl函数一起使用
$ua = 'Mozilla/4.0 (compatible; MSIE 5.0; S60/3.0 NokiaN73-1/2.0(2.0617.0.0.7) Profile/MIDP-2.0 Configuration/CLDC-1.1)';
$data = curl('https://m.facebook.com/', 0, $ua, 0,); //$data stores the html response of Facebook.com
print_r($data);
这是Facebook和useragent在此处使用的移动Web网址,这是在Dom的帮助下,我们可以使用以下代码获取输入字段
function parse_inputs($html) {
$dom = new DOMDocument;
@$dom->loadxml($html);
$inputs = $dom->getElementsByTagName('input');
return($inputs);
}
从此代码中,我可以获取m.facebook.com的输入字段,但不能获取www.facebook.com的输入字段,请为我提供帮助,另外一个有用的示例也请在此处进行检查:-https: //github.com/jerry- riady / Script-auto-like-face / blob / master / update.php 在此先感谢您提供所有答案。