【问题标题】:how to search data from other website using curl如何使用 curl 从其他网站搜索数据
【发布时间】:2018-06-08 07:27:23
【问题描述】:

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

这是我迄今为止尝试过的

$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 ;

【问题讨论】:

  • 您应该描述运行此脚本时发生的情况。你有错误吗?可能您会想要跟踪使用 Fiddler 之类的工具交换的数据(WireShark/tcpdump 由于 https 而无法工作)。然后你应该能够看到发生了什么。

标签: php curl php-curl


【解决方案1】:

(这不是一个完整的答案,但太长了无法发表评论。我不能为你弄清楚所有的小细节)

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

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

另一个问题是如何克服 PHP 中的 CAPTCHA 挑战,一种解决方案是使用 deathbycaptcha API(顺便说一句,这是一项付费服务​​),您可以找到一个示例 here

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

【讨论】:

  • 另一个问题是,如果您解决了所有这些问题,预计它们最终会阻止您违反 TOS 的请求。
  • @ceejayoz 是的,最终也可能会发生。确保您可以暂时使用 TOR,但最终他们可能会订阅(公共)tor 退出节点列表,并阻止所有 TOR ip。那么你可以订阅microleaves.com 之类的东西,声称他们有 2600 万个 IP 地址,但我想知道与 t-mobile 达成交易以获得这些东西的实际 API 是否会更容易(赢了'不是免费的,但是嘿,ips/captcha 破坏服务/抓取脚本维护也不是)
猜你喜欢
  • 2012-07-22
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多