On Mon, Jun 02, 2014 at 08:50:54AM -0400, Jon Lederman wrote:
> I am trying to mimic the following command line curl request in libcurl 
> programatically in C/C++.  Instead of reading data from a file though, I want 
> to send binary data from a buffer in memory:
> curl "https://website.net:443/Command?appId=XXX&appKey=YYY5&id=ZZZ"; -H 
> "Content-Type: AAA;codec=BBB" -H "Accept-Language: ENUS" -H 
> "Transfer-Encoding: chunked" -H "Accept: application/xml" -H "Accept-Topic: 
> New" -k --data-binary @data.bin  -v
> 
> I am using post-callback.c as a model.  I am have set up the headers 
> correctly.  What I don’t fully understand is how to use READFUNCTION.  When I 
> use the technique in post-callback, I get the following error below.  Could 
> you point me to an example of how to use READFUNCTION with binary data from a 
> buffer?  I would like to see more examples.  

There are 12 example programs using CURLOPT_READFUNCTION in docs/examples/.
Also, the --libcurl curl option will write a little example program for you,
although not the callback functions.

> Thanks in advance.  
> 
> <
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
> <title>Error 500 x-a-sessionidf38693fc-e97b-4d43-abea-907790367183
> Received QueryRetry: 2 AUDIO_INFO</title>
> </head>
> <body><h2>HTTP ERROR 500</h2>
> <p>Problem accessing /XXX. Reason:
> <pre>    x-XXX-sessionidf38693fc-e97b-4d43-abea-907790367183
> Received QueryRetry: 2 AUDIO_INFO</pre></p><hr /><i><small>Powered by 
> Jetty://</small></i><br/>

This likely means that the server didn't like what it was sent and returned an
error. Try comparing the output of libcurl (using a debug callback or network
trace tool) with a successful transfer by a browser or other and see where the
differences lie.

>>> Dan
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to