php以post形式发送xml的方法

  本文实例讲述了php以post形式发送xml的方法。分享给大家供大家参考。具体方法如下:

  方法一,使用curl:

  

复制代码 代码如下:
$xml_data = <xml>...</xml>";

  $url = 'http://www.xxxx.com';

  $header[] = "Content-type: text/xml";//定义content-type为xml

  curl_setopt($ch, CURLOPT_URL, $url);

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

  curl_setopt($ch, CURLOPT_POST, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);

  $response = curl_exec($ch);

  if(curl_errno($ch))

  {

  print curl_error($ch);

  }

  curl_close($ch);

  方法二,使用fsockopen:

  

复制代码 代码如下:
$fp = fsockopen($server_ip, 80);

  fputs($fp, "POST $path HTTP/1.0\r\n");

  fputs($fp, "Host: $server\r\n");

  fputs($fp, "Content-Type: text/xml\r\n");

  fputs($fp, "Content-Length: $contentLength\r\n");

  fputs($fp, "Connection: close\r\n");

  fputs($fp, "\r\n"); // all headers sent

  fputs($fp, $xml_data);

  $result = '';

  while (!feof($fp)) {

  $result .= fgets($fp, 128);

  }

  return $result;

  希望本文所述对大家的PHP程序设计有所帮助。