How to post xml data in drupal_http_request? I have curl code of it
-
16-10-2019 - |
Question
This is following curl code
$ch = curl_init(); //initiate the curl session
curl_setopt($ch, CURLOPT_URL, $url); //set to url to post to
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // tell curl to return data in a variable
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlrequest); // post the xml
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // set timeout in seconds
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$result['xml'] = curl_exec($ch);
How do I change the following code to use drupal_http_request()
?
Solution
Seeing how drupal_http_request() is used in _xmlrpc(), something like this should do it.
// The path to send the request
$url = "http://example.com/API_PATH_HERE";
// Example of valid xml code;
$xmlrequest = "<showId>0</showId><tag>123</tag>";
$response = drupal_http_request($url, array(
'headers' => array('Content-Type' => 'text/xml'),
'data' => $xmlrequest,
'method' => 'POST',
'timeout' => 10
));
// If there is no error return data
if (empty($response->error)) {
$result['xml'] = $response->data;
}
Licensed under: CC-BY-SA with attribution
Not affiliated with drupal.stackexchange