Revision: 52926
Updated Code
at November 6, 2011 06:16 by focal55
Updated Code
<?php /****************************************** * POST TO REMOTE SCRIPT ******************************************/ //fake data to send via cURL $post = 'var1=hello&var2=world'; //replace with your post destination url $url = "http://example.com/script.php"; //start cURL $ch = curl_init(); //define curl: set where the post is going curl_setopt($ch, CURLOPT_URL, $url); //define curl: set that you want the response //to be store in a variable and not display on screen curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //define curl: set what you are sending curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //If the post was not successful curl_exec will return false. //If successful store response in variable if ($xmlResponse = curl_exec($ch)) { //close the connection curl_close($ch); //Trim the response from excess white space //NOTE:It may be necessary to do further sanitizing of the string $xmlResponse = trim($xmlResponse); //enable error reporting libxml_use_internal_errors(true); //parse the xml response string $xmldata = simplexml_load_string($xmlResponse); //store the original xml in an array $xml = explode("\n", $xmlResponse); //if simplexml_load_string() fails, it returns false. //if it returns false, collect the errors and print them to the screen if (!$doc) { $errors = libxml_get_errors(); foreach ($errors as $error) { echo display_xml_error($error, $xml); } libxml_clear_errors(); }else{ //Successfull parsed the xml string print_r($doc); } }else{ //There was a problem with cURL executing. Do you have cURL on this server? echo "cURL was not able to execute"; //close connection curl_close($ch); } //Helper Function For Displaying the Errors function display_xml_error($error, $xml){ $return = $xml[$error->line - 1] . "\n"; $return .= str_repeat('-', $error->column) . "^\n"; switch ($error->level) { case LIBXML_ERR_WARNING: $return .= "Warning $error->code: "; break; case LIBXML_ERR_ERROR: $return .= "Error $error->code: "; break; case LIBXML_ERR_FATAL: $return .= "Fatal Error $error->code: "; break; } $return .= trim($error->message) . "\n Line: $error->line" . "\n Column: $error->column"; if ($error->file) { $return .= "\n File: $error->file"; } return "$return\n\n--------------------------------------------\n\n"; } ?>
Revision: 52925
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 6, 2011 06:15 by focal55
Initial Code
<?php /****************************************** * POST TO REMOTE SCRIPT ******************************************/ //fake data to send via cURL $post = 'var1=hello&var2=world'; //replace with your post destination url $url = "http://example.com/script.php"; //start cURL $ch = curl_init(); //define curl: set where the post is going curl_setopt($ch, CURLOPT_URL, $url); //define curl: set that you want the response //to be store in a variable and not display on screen curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //define curl: set what you are sending curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //If the post was not successful curl_exec will return false. //If successful store response in variable if ($xmlResponse = curl_exec($ch)) { //close the connection curl_close($ch); //Trim the response from excess white space //NOTE:It may be necessary to do further sanitizing of the string $xmlResponse = trim($xmlResponse); //enable error reporting libxml_use_internal_errors(true); //parse the xml response string $xmldata = simplexml_load_string($xmlResponse); //store the original xml in an array $xml = explode("\n", $xmlResponse); //if simplexml_load_string() fails, it returns false. //if it returns false, collect the errors and print them to the screen if (!$doc) { $errors = libxml_get_errors(); foreach ($errors as $error) { echo display_xml_error($error, $xml); } libxml_clear_errors(); }else{ //Successfull parsed the xml string print_r($doc); } }else{ //There was a problem with cURL executing. Do you have cURL on this server? echo "cURL was not able to execute"; //close connection curl_close($ch); } /** * Helper Function For Displaying the Errors **/ function display_xml_error($error, $xml){ $return = $xml[$error->line - 1] . "\n"; $return .= str_repeat('-', $error->column) . "^\n"; switch ($error->level) { case LIBXML_ERR_WARNING: $return .= "Warning $error->code: "; break; case LIBXML_ERR_ERROR: $return .= "Error $error->code: "; break; case LIBXML_ERR_FATAL: $return .= "Fatal Error $error->code: "; break; } $return .= trim($error->message) . "\n Line: $error->line" . "\n Column: $error->column"; if ($error->file) { $return .= "\n File: $error->file"; } return "$return\n\n--------------------------------------------\n\n"; } ?>
Initial URL
Initial Description
Initial Title
PHP - cURL receives xml
Initial Tags
curl, xml
Initial Language
PHP