C Programer  - 讨论区

标题:使用libcurl进行POST方式请求

2014年01月27日 星期一 09:14

大多数开放平台的API都需要使用POST方式传输数据,libcurl的easy模式提供了方便的方法来完成此任务,只需设置CURLOPT_POSTFIELDS选项即可。

编程示例如下:

 

#include <stdio.h>
#include <curl/curl.h>
#include <string.h>

int main(int argc,char **argv) {
    CURL *curl;
    CURLcode result;
    curl=curl_easy_init();
    if(!curl) {
        return -1;
    }
    char *url;
    if(argc > 1) {
        url=argv[1];
    } else {
        url="http://10.1.9.140/v/post.php";
    }
    curl_easy_setopt(curl,CURLOPT_URL,url);
    curl_easy_setopt(curl,CURLOPT_POST,1);
    char *postfields="name=laomeng188@163.com&age=30";
    curl_easy_setopt(curl,CURLOPT_POSTFIELDS,postfields);
    curl_easy_setopt(curl,CURLOPT_POSTFIELDSIZE,strlen(postfields));

    FILE *fp=fopen("result.htm","w+");
    if(!fp) {
        perror("fopen");
        return -2;
    }
    curl_easy_setopt(curl,CURLOPT_WRITEDATA,fp);
    curl_easy_setopt(curl,CURLOPT_VERBOSE,1);
    
    result=curl_easy_perform(curl);
    curl_easy_cleanup(curl);
    fclose(fp);

    return 0;
}

参考资料:

http://curl.haxx.se/libcurl/c/curl_easy_setopt.html

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号