Maison >développement back-end >tutoriel php >PHP envoie des données XML via curl et obtient des données XML

PHP envoie des données XML via curl et obtient des données XML

jacklove
jackloveoriginal
2018-05-22 09:24:554220parcourir

Dans le processus d'apprentissage de PHP, vous rencontrerez lorsque PHP envoie des données XML via curl. Cet article expliquera les méthodes associées.

Le format XML est souvent utilisé pour transmettre des données dans la programmation PHP, par exemple pour appeler des interfaces tierces telles que WeChat. Voici une démonstration de PHP qui envoie du XML sous forme curl et le reçoit via le serveur

<.> 1. Envoyer des données XML - postXml.php

<?php
 // 首先检测是否支持curlif (!extension_loaded("curl")) {
    trigger_error("对不起,请开启curl功能模块!", E_USER_ERROR);
} 
// 构造xml数据$xmlData = "
<xml>
<AppId>wxf8b4f85f3a794e77</AppId>
<ErrorType>1001</ErrorType>
<Description>错误描述</Description>
<AlarmContent>transaction_id=33534453534</AlarmContent>
<TimeStamp>1393860740</TimeStamp>
<AppSignature>f8164781a303f4d5a944a2dfc68411a8c7e4fbea</AppSignature>
<SignMethod>sha1</SignMethod>
</xml>";
 
 
$url = &#39;http://web.whm.com/getXml.php&#39;; //接收xml数据的文件$ch = curl_init();  // 初始一个curl会话$timeout = 30;  // php运行超时时间,单位秒curl_setopt($ch, CURLOPT_URL, $url);    // 设置urlcurl_setopt($ch, CURLOPT_POST, 1);  // post 请求curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:text/xml; charset=utf-8"));    // 一定要定义content-type为xml,要不然默认是text/html!curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);//post提交的数据包curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); // PHP脚本在成功连接服务器前等待多久,单位秒curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);   // 抓取URL并把它传递给浏览器// 是否报错if(curl_errno($ch))
{    print curl_error($ch);
}
curl_close($ch);    // //关闭cURL资源,并且释放系统资源
 echo $result;


php envoie des données XML via curl et obtient des données XML

PHP envoie des données XML via curl et obtient des données XML

2. Recevoir des données XML - getXml.php

<?php
 //接收传送的数据$xml = file_get_contents("php://input"); 
//将xml数据写入文本文件"whm.txt"中$handle =fopen(&#39;whm.txt&#39;,&#39;w&#39;);
 
fwrite($handle,$xml);


php envoie des données XML via curl et obtient des données XML

PHP envoie des données XML via curl et obtient des données XML

3. Notes

Lors de la construction de XML, assurez-vous de faire attention au format correct, sans espaces, etc.

Assurez-vous de définir le type de contenu comme XML, sinon, la valeur par défaut est text/html

Cet article explique comment PHP envoie des données XML via curl et obtient des données XML Pour plus de connaissances connexes, veuillez faire attention au site Web chinois de PHP.

Recommandations associées :

PHP génère parfaitement des documents Word et des éléments HTML peuvent être ajoutés

Explication détaillée de la mise en cache ThinkPhp principe et utilisation

Discus!X/Database DB:: Méthode de fonctionnement de la fonction

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn