php接受xml和发送(post)xml_PHP教程
程序员文章站
2022-03-27 12:18:10
...
接收xml:
$xml = file_get_contents(php://input);
发送(post):
$xml_data = ... ";
$url = http://dest_url;
$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);
$url = http://dest_url;
$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);
或者:
$fp = fsockopen($server, 80);
fputs($fp, "POST $path HTTP/1.0 ");
fputs($fp, "Host: $server ");
fputs($fp, "Content-Type: text/xml ");
fputs($fp, "Content-Length: $contentLength ");
fputs($fp, "Connection: close ");
fputs($fp, " "); // all headers sent
fputs($fp, $xml_data);
$result = ;
while (!feof($fp)) {
$result .= fgets($fp, 128);
}
return $result;
fputs($fp, "POST $path HTTP/1.0 ");
fputs($fp, "Host: $server ");
fputs($fp, "Content-Type: text/xml ");
fputs($fp, "Content-Length: $contentLength ");
fputs($fp, "Connection: close ");
fputs($fp, " "); // all headers sent
fputs($fp, $xml_data);
$result = ;
while (!feof($fp)) {
$result .= fgets($fp, 128);
}
return $result;