我计划使用PHP来满足一个简单的需求。我需要从URL下载XML内容,为此我需要向该URL发送HTTP GET请求。
PHP中怎么做呢?
我计划使用PHP来满足一个简单的需求。我需要从URL下载XML内容,为此我需要向该URL发送HTTP GET请求。
PHP中怎么做呢?
当前回答
Http_get应该可以做到这一点。与file_get_contents相比,http_get的优点包括能够查看HTTP报头、访问请求详细信息和控制连接超时。
$response = http_get("http://www.example.com/file.xml");
其他回答
对于更高级的GET/POST请求,您可以安装CURL库(http://us3.php.net/curl):
$ch = curl_init("REMOTE XML FILE URL GOES HERE"); // such as http://example.com/example.xml
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
取决于你的php设置是否允许对url进行fopen,你也可以简单地使用字符串中的get参数fopen url(例如http://example.com?variable=value)
编辑:重新阅读问题,我不确定你是否希望传递变量-如果你不是,你可以简单地发送包含http://example.com/filename.xml的fopen请求-请随意忽略变量=值部分
除非您需要的不仅仅是文件的内容,否则可以使用file_get_contents。
$xml = file_get_contents("http://www.example.com/file.xml");
对于任何更复杂的东西,我将使用cURL。
Http_get应该可以做到这一点。与file_get_contents相比,http_get的优点包括能够查看HTTP报头、访问请求详细信息和控制连接超时。
$response = http_get("http://www.example.com/file.xml");
我喜欢用fsockopen来做这个。