How to get C Code of a cURL Request
cURL is a great command-line tool for making network requests. It specially becomes handy while making HTTP requests from command line for troubleshooting / monitoring purposes. libcurl is considered to be high-level tool that have bindings for many high-level languages which make it easy for developers to use cURL features from programming language of their choice.
cURL uses libcurl behind the scene but since cURL is a command-line tool we cannot get idea of what code gets executed when we issue a cURL request. But if you want to get equivalent C Code for a cURL request it is quite easy to get it, you just have to pass –libcurl option with the cURL request and you are done. Let me show you how to do this.
# A simple cURL Request
$ curl http://example.com --libcurl name_of_file.c
Following is the C Code that gets generated if you issue the above mentioned command.
/********* Sample code generated by the curl command line tool **********
* All curl_easy_setopt() options are documented at:
* http://curl.haxx.se/libcurl/c/curl_easy_setopt.html
************************************************************************/
#include
int main(int argc, char *argv[])
{
CURLcode ret;
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_URL, "http://example.com");
curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5");
curl_easy_setopt(hnd, CURLOPT_SSH_KNOWNHOSTS, your_ssh_key_path);
curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50);
ret = curl_easy_perform(hnd);
curl_easy_cleanup(hnd);
/* Here is a list of options the curl code used that cannot get generated
as source easily. You may select to either not use them or implement
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
CURLOPT_SEEKDATA set to a objectpointer
CURLOPT_SEEKFUNCTION set to a functionpointer
CURLOPT_ERRORBUFFER set to a objectpointer
CURLOPT_STDERR set to a objectpointer
CURLOPT_SOCKOPTFUNCTION set to a functionpointer
CURLOPT_SOCKOPTDATA set to a objectpointer
*/
return (int)ret;
}
/**** End of sample code ****/
I hope you like this quick tip.
2 Responses to How to get C Code of a cURL Request
Leave a Reply Cancel reply
Tags
Ad ADT Adword AJAX Android API balancing Binding Calling Class Column Configure Copy Curl Data Database Eclipse Error Gadget Google Hello ini ini_set Install Invite Javascript Late Linux Load Master Method MySQL Output PHP Playground Proxy Replication SeaMonkey Server Slave Static String Table Ubuntu upload_max_filesize
I’m not positive the place you’re getting your information, but great topic. I needs to spend a while finding out much more or understanding more. Thanks for magnificent information I was in search of this information for my mission.
Thanks for liking the effort. We are really excited to bring awesome stuff.