PHP Curl在浏览器中返回不同的URL结果

时间:2018-06-01 11:31:45

标签: php curl php-curl

我正在使用PHP Curl这段代码:

curl_setopt($ch, CURLOPT_URL, 'https://www.segundamano.mx/anuncios/ciudad-de-mexico/alvaro-obregon/florida/renta-inmuebles/departamentos?precio=0-10000');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);

curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 

//curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0");

$uagent = 'Mozilla/5.0 (Windows NT 6.1; rv:22.0) Firefox/22.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/36.0.1985.125 Chrome/36.0.1985.125 Safari/537.36';
curl_setopt($ch, CURLOPT_USERAGENT, $uagent);

curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com');
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 

我的问题是..为什么PHP Curl在浏览器中提供与搜索URL不同的结果?

PHP Curls提供了一个很大的内容......用这个LINE ...... 用西班牙语......“没有encontramos resultados paratubúsqueda......” 英文.....你的搜索没有结果...

此网址会发生什么? 我如何通过代码CURL和读取此URL并获得真正的结果作为浏览器?

请帮帮我! 感谢!!!

2 个答案:

答案 0 :(得分:1)

您提到的链接是单页Web应用程序或网站,它通过动态重写当前页面而不是从服务器加载整个新页面来与用户交互。

此外,本网站正在使用vue js。

请查看以下链接了解更多详情。

https://en.wikipedia.org/wiki/Single-page_application https://vuejs.org/

答案 1 :(得分:0)

因为 JavaScript是所有邪恶的根源。在您成功加载页面后,网站会获得您想要的搜索结果。只需打开网络"浏览器检查工具的标签,查看飞来飞去的请求。

有趣的部分:该网站确实有一个(看似授权的)API,它可以说话,也许你可以试试吗? https://webapi.segundamano.mx/nga/api/v1.1/public