Home  >  Article  >  php教程  >  php以post形式发送xml的方法,phppost形式xml

php以post形式发送xml的方法,phppost形式xml

WBOY
WBOYOriginal
2016-06-13 09:22:10950browse

php以post形式发送xml的方法,phppost形式xml

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

方法一,使用curl:

复制代码 代码如下:

$xml_data = ...";
$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程序设计有所帮助。

php通过post传送xml,本人php新人,希望可以写详细点

?啥意思
 

php怎post XML到指定服务器

============================= 补充回答
以下是一个编写好的post XML 的类:


class xmlSender {

/**
* 构造器
* 校验 cURL 是不是可用
*/
function xmlSender()
{
if ( !extension_loaded('curl') ) {
trigger_error("You need cURL loaded to use this class", E_USER_ERROR);
}
}

/**
* 使用了cURL库发送 xml 内容
*/
function send( $str_xml, $str_url, $str_page, $boo_ssl = false )
{
$str_header = "POST " . $str_page . " HTTP/1.0 \r\n";
$str_header .= "MIME-Version: 1.0 \r\n";
$str_header .= "Content-type: application/PTI26 \r\n";
$str_header .= "Content-length: " . strlen($str_xml) . " \r\n";
$str_header .= "Content-transfer-encoding: text \r\n";
$str_header .= "Request-number: 1 \r\n";
$str_header .= "Document-type: Response\r\n";
$str_header .= "Interface-Version: Site 1.0 \r\n";
$str_header .= "Connection: close \r\n\r\n";
$str_header .= $str_xml;

$res_curl = curl_init();
curl_setopt($res_curl, CURLOPT_URL, $str_url);
curl_setopt($res_curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($res_curl, CURLOPT_TIMEOUT, 30);
curl_setopt($res_curl, CURLOPT_CUSTOMREQUEST, $str_header);
curl_setopt($res_curl, CURLOPT_FOLLOWLOCATION, 1);
......余下全文>>
 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn