मैंने PHP4/curl के माध्यम से https पर xml भेजने के लिए एक वर्ग/फ़ंक्शन लिखा, बस यह सोचकर कि यह सही दृष्टिकोण है या यदि कोई बेहतर है।PHP4: curl के माध्यम से HTTPS/POST पर XML भेजें?
ध्यान दें कि PHP5 वर्तमान में कोई विकल्प नहीं है।
/**
* Send XML via http(s) post
*
* curl --header "Content-Type: text/xml" --data "<?xml version="1.0"?>...." http://www.foo.com/
*
*/
function sendXmlOverPost($url, $xml) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// For xml, change the content-type.
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // ask for results to be returned
if(CurlHelper::checkHttpsURL($url)) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
// Send to remote and return data to caller.
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
चीयर्स!
वाह, नहीं वर्तमान में एक विकल्प पर? :(इसके अलावा, अगर आप curl पर सेट नहीं हैं, तो HTTP_Request (http://pear.php.net/package/HTTP_Request) देखें। – Till