Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-我的服务器GET请求如何获得与浏览器相同的HTML代码?_Php_Html_Http_Get_Request - Fatal编程技术网

PHP-我的服务器GET请求如何获得与浏览器相同的HTML代码?

PHP-我的服务器GET请求如何获得与浏览器相同的HTML代码?,php,html,http,get,request,Php,Html,Http,Get,Request,我正在使用PHP 我试图从DHL的跟踪网站获取HTML代码,以便在给定某个跟踪编号和其他参数的情况下对其进行解析 响应似乎发送了一个空HTML,但如果我在浏览器中尝试该链接,它会工作 有人知道为什么会这样吗 <?php $url = 'http://www.dhl.com.mx/content/mx/en/express/tracking.shtml?brand=DHL&AWB='.$shipment_number.'%0D%0A'; $html = file_get_conten

我正在使用PHP

我试图从DHL的跟踪网站获取HTML代码,以便在给定某个跟踪编号和其他参数的情况下对其进行解析

响应似乎发送了一个空HTML,但如果我在浏览器中尝试该链接,它会工作

有人知道为什么会这样吗

<?php
$url = 'http://www.dhl.com.mx/content/mx/en/express/tracking.shtml?brand=DHL&AWB='.$shipment_number.'%0D%0A';
$html = file_get_contents($url);

$dom->loadHTML($html);
$xpath = new DomXPath($dom);

页面似乎需要用户代理才能访问,他们不允许Bot


您可以使用CURL并将用户代理设置为浏览器以获取页面内容

如何处理
文件获取内容调用?它是假的还是包含任何数据?它包含一个试图将我重定向到默认页面的html文件。我假设当一个请求的格式不正确时,它来自DHL服务器。我知道,然后
file\u get\u contents
请求做了它应该做的,但是请求被重定向了。不确定是否可以设置
文件\u获取\u内容
以遵循重定向。可能尝试使用
curl
?一些web服务拒绝“bot”用户代理。尝试使用curl来欺骗你的用户代理:我刚刚查看了网站,它说服务器正在停机进行维护