我正在使用 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);
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消
