我使用curl完成了这个代理。我成功地获取了要在页面中显示的xml。我试图在本地保存副本但没有成功,我尝试过(已经在下面的完整代码中):
$fp = fopen('data.xml', 'w');
fwrite($fp, $xml);
fclose($fp);
但我没有错误和一个空的“data.xml”文件......如何做到这一点? 感谢
[EDIT2]:已解决,我刚刚添加了标记:curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
并做了! (在下面的代码中更新
带有@spell建议的代码。
define ('HOSTNAME', 'http://www.camara.gov.br');
$path = "http://www.camara.gov.br/SitCamaraWS/Deputados.asmx/ObterDeputados?";
$url = HOSTNAME.$path;
$session = curl_init($path);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_HTTPGET, true);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
curl_setopt($session, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36');
header("Content-Type: text/xml");
$xml = curl_exec($session);
curl_close($session);
file_put_contents ('./data.xml', $xml);
?>
答案 0 :(得分:4)
您可以使用file_put_contents
功能。
在你的情况下,它将是:
// Make the call
$xml = curl_exec($session);
// done, shutDown.
curl_close($session);
if (file_put_contents ('./data.xml', $xml) !== false) {
echo 'Success!';
} else {
echo 'Failed';
}
并且
但我没有错误和空的“data.xml”文件
下次提供错误