PHP CURL 发送和接收XML数据,并用$HTTP_RAW_POST_DATA接收

PHP代码
  1. <?php  
  2.   
  3. $xml = file_get_contents(‘test.xml’);  
  4.   
  5. $header[]="Content-Type: text/xml; charset=utf-8";  
  6.   
  7. $header[]="User-Agent: nginx/1.0.0";  
  8. $header[]="Host: 127.0.0.1";  
  9. $header[]="Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2";  
  10. $header[]="Connection: keep-alive";  
  11. $header[]="Content-Length: ".strlen($xml);  
  12.   
  13. $url = "http://{$_SERVER[‘HTTP_HOST’]}".dirname($_SERVER[‘PHP_SELF’]).‘/response.php’;  
  14.   
  15. $ch = curl_init();  
  16. curl_setopt($ch, CURLOPT_URL, $url);  
  17. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);  
  18. curl_setopt($ch, CURLOPT_POST, 1);   
  19. curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);  
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  21. curl_setopt($ch, CURLOPT_HEADER, 0);  
  22. $res = curl_exec($ch);  
  23. curl_close($ch);  
  24.   
  25. header(‘Content-Type:text/xml; charset=utf-8′);  
  26. echo ($res);  
  27.   
  28. ?>  

 

response.php 文件内容:

PHP代码
  1. <?php   
  2. echo $HTTP_RAW_POST_DATA;  
  3. ?>  

 

 



发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>