Would this work for a simple form post?
It's using the libcURL libraries for C++
I'm going to upgrade it from here and add captcha support and stuff.
This is just the form submit.
Code:/* This is a Gaia Online account creator ** Written by 323 for Logical Gamers ** Version 1.0 ** Created 10-25-2012 ** Check www.LogicalGamers.com for updates */ #include <stdio.h> #include <string.h> #include <curl/curl.h> string userpassword = "password101"; int main(int argc, char *argv[]) { CURL *curl; CURLcode res; struct curl_httppost *formpost=NULL; struct curl_httppost *lastptr=NULL; struct curl_slist *headerlist=NULL; static const char buf[] = "Expect:"; curl_global_init(CURL_GLOBAL_ALL); //Fill in the username field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "username", CURLFORM_COPYCONTENTS, "RANDOMLY_GENERATED_STRING_HERE", CURLFORM_END); //Fill in the email field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "email", CURLFORM_COPYCONTENTS, "ADD_YOUR_EMAIL_ADDRESS_HERE", CURLFORM_END); //Fill in the password field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "password", CURLFORM_COPYCONTENTS, userpassword, //make the user's password the string userpassword (password101) //Fill in the confirm password field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "password_confirm", CURLFORM_COPYCONTENTS, userpassword, CURLFORM_END); //Fill in the date of birth month field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "dob_month", CURLFORM_COPYCONTENTS, "1", CURLFORM_END); //Fill in the date of birth day field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "dob_day", CURLFORM_COPYCONTENTS, "1", CURLFORM_END); //Fill in the date of birth year field curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "dob_year", CURLFORM_COPYCONTENTS, "1980", CURLFORM_END); //Fill in the submit field too, even if this is rarely needed curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "submit", CURLFORM_COPYCONTENTS, "send", CURLFORM_END); curl = curl_easy_init(); //initalize custom header list (stating that Expect: 100-continue is not wanted headerlist = curl_slist_append(headerlist, buf); if(curl) { //what URL that receives this POST curl_easy_setopt(curl, CURLOPT_URL, "http://avatarsave.gaiaonline.com/register/html/?step=userinfo&_gaia_t_=296"); if ( (argc == 2) && (!strcmp(argv[1], "noexpectheader")) ) //only disable 100-continue header if explicitly requested curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); //Perform the request, res will get the return code res = curl_easy_perform(curl); //Check for errors if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); //always cleanup curl_easy_cleanup(curl); //then cleanup the formpost chain curl_formfree(formpost); //free slist curl_slist_free_all (headerlist); } return 0; }
Results 1 to 4 of 4
- 26 Oct. 2012 04:20pm #1
- Join Date
- Apr. 2010
- Location
- When freedom is outlawed only outlaws will be free
- Posts
- 5,113
- Reputation
- 195
- LCash
- 5822.00
[Question] Form POST via C++ libcURL
- 26 Oct. 2012 04:51pm #2
This code looks bad and you should feel bad.
Jesus Christ, my eyes.
- 27 Oct. 2012 06:02pm #3
- Join Date
- Apr. 2010
- Location
- When freedom is outlawed only outlaws will be free
- Posts
- 5,113
- Reputation
- 195
- LCash
- 419.00
- 27 Oct. 2012 06:04pm #4