为了账号安全,请及时绑定邮箱和手机立即绑定

简单的 Html Dom 库适用于本地服务器,但不适用于大多数实时服务器

简单的 Html Dom 库适用于本地服务器,但不适用于大多数实时服务器

PHP
POPMUISE 2022-07-16 18:39:42
我正在使用 curl 进行网页抓取并解析 html 使用简单的 html dom 库,它非常简单。但我的主要问题是这个库在本地服务器上运行顺畅,但在实时服务器上运行不畅。奇怪的是,它可以在 000webhost 主机上运行而没有任何问题,但是当我使用其他付费主机时,比如 godaddy、namecheap 等。付费 Hostinger 计划也不支持。我联系了 godaddy 支持,他们说您需要联系您的开发人员,这不是托管问题。我在互联网上搜索了很多,发现我需要启用 php 扩展 'mbstring',但同样的问题。当我搜索数据时,它会给我空数组,例如“数组”。我尝试了一切,但找不到任何解决方案,也没有得到什么问题。<?phperror_reporting(0);                                        if (isset($_POST['submit']))                     {                        $search = $_POST['cnic'];                        if (strlen($search) < 12)                         {                          $search = substr($search, 1);                        }                                                $url = "https://allcstech.com/tele/search-result.php";                        $ch = curl_init();                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);                        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);                        curl_setopt($ch, CURLOPT_TIMEOUT, 40);                        curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");                        curl_setopt($ch, CURLOPT_URL, $url);                        curl_setopt($ch, CURLOPT_POSTFIELDS, "cnnum=$search");                        $html = curl_exec($ch);                                                                include 'dfapi/simple_html_dom.php';            $dom = new simple_html_dom();            $dom->load($html);                        $firstname = $dom->find('td',3);                        $lastname = $dom->find('td',5) ;                        $cnic = $dom->find('td',7);                        $number = $dom->find('td',1);            $mod = "<strong>0</strong>".$number;                        $address = $dom->find('td',9);                        // $address1 = $dom->find('#address1',0);            // $city = $dom->find('#city',0);
查看完整描述

1 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

试试下面的 curl 设置,我认为问题是 curl 而不是 html_simple_dom。


    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    curl_setopt($ch, CURLOPT_TIMEOUT, 40);

    curl_setopt($ch, CURLOPT_POSTFIELDS, "cnnum=$search");

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

    curl_setopt($ch, CURLOPT_HEADER, false);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    $html = curl_exec($ch);


    curl_close($ch);


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号