700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用libcurl以Post方式向HTTP服务器提交数据

使用libcurl以Post方式向HTTP服务器提交数据

时间:2023-11-08 11:48:19

相关推荐

使用libcurl以Post方式向HTTP服务器提交数据

一、上传数据

如题:

char name[] = "jgood";

char address[] = "Hangzhou";

上传这两个数据到http://localhost:2210/Default.aspx 该怎么办?

直接上代码:

int main()

{

CURLcode code;

code = curl_global_init(CURL_GLOBAL_ALL);//初始化libcurl库,想用libcurl库的函数就必须首先初始化libcurl

if(CURLE_OK != return_code)

{

cerr << "init libcurl failed." << endl;

return -1;

}

CURL *easy_handle = curl_easy_init(); //初始化easy interface,想使用easy interface的api函数就必须首先初始化easy interface

/* curl_easy_setopt函数设置属性和操作*/

curl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx); //这里是设置url就是你想要上传的服务器

curl_easy_setopt(easy_handle, CURLOPT_POSTFIELDS, "name=jgood&address=hangzhou"); //这里就是想要上传的数据,数据之间用&隔开

curl_easy_perform(easy_handle); //连接到远程主机,发送请求,并接收响应

curl_easy_cleanup(easy_handle);//释放资源

curl_global_cleanup();//释放资源

return 0;

}

二、上传表单

如题:

char name[] = "jgood";

char address[] = "Hangzhou";

char filepath[] = "/filename.jpg";

上传这两个数据和这个文件到http://localhost:2210/Default.aspx 该怎么办?

直接上代码:

int main()

{

CURLcode code;

code = curl_global_init(CURL_GLOBAL_ALL);//初始化libcurl库,想用libcurl库的函数就必须首先初始化libcurl

if(CURLE_OK != return_code)

{

cerr << "init libcurl failed." << endl;

return -1;

}

CURL *easy_handle = curl_easy_init(); //初始化easy interface,想使用easy interface的api函数就必须首先初始化easy interface

curl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx); //设置easy handle的属性和操作

curl_httppost *post = NULL;

curl_httppost *last = NULL;

/*添加表单,按照服务器给的接口中变量顺序进行添加 */

curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", CURLFORM_COPYCONTENTS, "JGood", CURLFORM_END);

curl_formadd(&post, &last, CURLFORM_COPYNAME, "address", CURLFORM_COPYCONTENTS, "HangZhou", CURLFORM_END);

curl_formadd(&post, &last, CURLFORM_COPYNAME, "file", CURLFORM_FILE,filepath, CURLFORM_CONTENTTYPE, "application/x-jpg", CURLFORM_END);//application/x-jpg是jpg文件的类型,具体要根据自己上传的文件类型进行设置,参考/table/http_content_type

curl_easy_perform(easy_handle); //连接到远程主机,发送请求,并接收响应

curl_easy_cleanup(easy_handle);//释放资源

curl_global_cleanup();//释放资源

return 0;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。