Re: reading incoming xml

From: Date: Sun, 02 Mar 2008 02:42:34 +0000
Subject: Re: reading incoming xml
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-270821@lists.php.net to get a copy of this message
The incoming message to the server is: POST /vendorXML.html HTTP/1.0 MIME-Version: 1.0 Content-type: text/html Content-length: 114 Content-transfer-encoding: text Request-number: 1 Document-type: Request Interface-Version: Test 1.4 Connection: close <?xml version="1.0" encoding="UTF-8"?><Data>vendorCompanyID</Data> Larry On Sat, 2008-03-01 at 18:08 -0500, Nathan Nobbe wrote: > hmm, it looks to me like you want to post a bunch of raw data to the > server. im not sure exactly how to do that w/ the php curl functions... > everything ive seen uses CURLOPT_POSTFIELDS to supply an associative array > of data to be posted. in this case you could easily send you data across by > choosing a name for the index, something like 'postdata', anything will do, > then it will be accessible on the system youre posting to via > $_POST['postdata']. > > also, inlooking at your usage of CURLOPT_CUSTOMREQUEST, i dont believe youre > using it correctly, i think youre just supposed to put a string > representing the desired http method in there, so something like 'HEAD', > 'PUT', or in this case 'POST'. then you would supply the data as i said > earlier, using CURLOPT_POSTFIELDS. so in all, i think something like this > would work for you, > > > > and also, in reading the warning about CURLOPT_CUSTOMREQUEST, you might just > go with CURLOPT_POST => true, since you arent using an obscure http method. > im not sure exactly how to determine if the server supports this method or > not. anyway, i found this in 'man curl_easy_setopt' (thats the manpage for > the c function php uses for the CURLOPT_CUSTOMREQUEST option). > > Many people have wrongly used this option to replace the > entire request with their own, including multiple headers and POST contents. > While that might > work in many cases, it will cause libcurl to send invalid > requests and it could possibly confuse the remote server badly. Use > CURLOPT_POST and CUR- > LOPT_POSTFIELDS to set POST data. Use CURLOPT_HTTPHEADER to > replace or extend the set of headers sent by libcurl. Use > CURLOPT_HTTP_VERSION to change > HTTP version. > > -nathan -- Larry Brown <larry.brown@dimensionnetworks.com>

« previous php.general (#270821) next »