使用curl和php保存xml文件时出现问题
我正在使用curl和xml将我的xml发布到URL 我现在收到它的响应,但它没有显示在输出中 当我右键单击使用curl和php保存xml文件时出现问题,php,xml,curl,Php,Xml,Curl,我正在使用curl和xml将我的xml发布到URL 我现在收到它的响应,但它没有显示在输出中 当我右键单击查看源代码页面时,就像XML文件输出一样 我需要将该xml文档存储到一个文件中 我在下面使用了这个代码 <? $path = "https://newport.ingrammicro.com/mustang"; //Relative path to the file with $_POST parsing $ch = curl_init($path); //Initialise cur
查看源代码页面时,就像XML文件输出一样
我需要将该xml文档存储到一个文件中
我在下面使用了这个代码
<?
$path = "https://newport.ingrammicro.com/mustang"; //Relative path to the file with $_POST parsing
$ch = curl_init($path); //Initialise curl resource with above file
$data = "my xml document to post";
//Data to be sent to the file
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //Send the data to the file?
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
$val = curl_exec($ch);
curl_close($ch); //Close curl session
$fp = fopen('data.xml', 'w');
fwrite($fp, $val);
fclose($fp);
?>
有人知道怎么做吗?将CURLOPT\u RETURNTRANSFER
设置为true
:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
为什么首先将其设置为0?将CURLOPT\u RETURNTRANSFER
设置为true
:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
为什么首先将其设置为0?除非将CURLOPT\u RETURNTRASFER设置设置为TRUE(1),否则curl\u exec()函数在成功时返回TRUE,失败时返回FALSE:
这将导致curl_exec()函数返回请求的响应体,而不是真/假值
另请参见中的“返回值”部分,curl_exec()函数在成功时返回TRUE,在失败时返回FALSE,除非将CURLOPT_RETURNTRASFER设置设置为TRUE(1):
这将导致curl_exec()函数返回请求的响应体,而不是真/假值
如果您想尝试添加一些用户代理,以确保获得与真实浏览器相同的输出,请参见的“返回值”部分
@curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
此外,如果您想尝试添加一些用户代理,以确保获得与实际浏览器相同的输出
@curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");
正如Grabiel Sosa所说,“您可能需要尝试添加一些用户代理,以确保获得与真实浏览器相同的输出”
该网站包含大量用户代理(Mozilla等)如Grabiel Sosa所说,“您可能需要尝试添加一些用户代理,以确保获得与真实浏览器相同的输出”
该网站包含大量用户代理(Mozilla和其他)下次您在此处(或其他任何地方)提问时,请尝试删除不必要的填充内容和您绝对确定不需要的信息,例如此处的XML文档。还要记住,段落和换行符不应该总是匹配的。下次您在这里(或其他任何地方)提问时,请尝试删除不必要的填充符和您绝对确定不需要的信息,例如这里的XML文档。还要记住,段落和换行符不应该总是匹配的。