如何使用curl从其他网站搜索数据

时间:2018-06-08 07:27:23

标签: php curl php-curl

您好我如何使用curl和php从其他网站搜索数据。我想从这个网站https://www.example.com/xxx

搜索imei号码

这是我到目前为止所尝试的

$imei = '013887009861498';

$cookie_file_path = "cookies/cookiejar.txt"; 
$fp = fopen("$cookie_file_path","w") or die("<BR><B>Unable to open cookie file $mycookiefile for write!<BR>");
fclose($fp); 


    $url="https://example.com/xxx"; 
    $agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)";
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$imei);
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
        $result = curl_exec ($ch);

        echo $result ;

1 个答案:

答案 0 :(得分:0)

(这不是一个完整的答案,但是要发表评论的时间太长了。我无法为你找出所有小细节而感到沮丧)

这里有几个不同的问题,第一个是如何用php / curl做一个POST请求,你可以在其中找到一个例子here

另一个问题是,如何在PHP中解析HTML,其中列出了here个选项。 (我强烈推荐DOMDocument&amp; DOMXPath组合)

另一个问题,是如何通过PHP中的CAPTCHA挑战,1解决方案是使用deathbycaptcha API(顺便说一下,这是付费服务),你可以找到here的一个例子。 / p>

另一个问题是,他们使用了3个不同的类似CSRF的令牌,称为__VIEWSTATE__EVENTVALIDATIONhdnCaptchaInstance,所有这些令牌都必须解析并提交验证码答案。您还需要处理cookie,因为CSRF令牌和验证码与您的cookie会话相关联(幸运的是,您可以使用CURLOPT_COOKIEFILE让curl自动处理cookie)