c++ curl get 访问网页(post关于curl 的文章都有就不介绍了)

CURL* pEasyHandle = InitCurl();
CURLcode code;


if(NULL == pEasyHandle)
{
//curl_global_cleanup();
return false;
}

char* szpage = "www.baidu.com";
curl_easy_setopt(pEasyHandle, CURLOPT_URL, szpage);
//curl_easy_setopt(pEasyHandle, CURLOPT_POSTFIELDS, "XXXX");  //post访问网页
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEFUNCTION, &process_data);

curl_easy_setopt(pEasyHandle, CURLOPT_TIMEOUT, 10);  //设置访问的超时

curl_easy_setopt(pEasyHandle, CURLOPT_FORBID_REUSE, 1);      //这个很重要,curl 有个重用机制,访问的链接不会立即释放,如果访问过于平凡的可能会导致服务器端口被沾满,无法访问的情况(CURLE_COULDNT_CONNECT /* 7 */ 这个是返回的错误码)

char szRet[1024] = {0};
curl_easy_setopt(pEasyHandle, CURLOPT_WRITEDATA, szRet);
code = curl_easy_perform(pEasyHandle);


if(CURLE_OK != code)
{
CleanCurl(pEasyHandle);
return false;

}


size_t process_data(void* buffer, size_t size, size_t nmemb, void* user_p)

{

strcat((char*)user_p, (char*)buffer);

return size*nmemb;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中使用curl进行POST请求时,可以使用curl_easy_setopt函数来设置参数。其中,CURLOPT_POSTFIELDS选项用于设置POST请求的参数。参数可以是一个字符串,格式为"ParamName1=ParamName1Content&ParamName2=ParamName2Content&..."。你可以将需要发送的参数按照这个格式拼接成一个字符串,然后将其作为参数传递给curl_easy_setopt函数。以下是一个示例代码: ```c++ #include <curl/curl.h> int main() { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "ParamName1=ParamName1Content&ParamName2=ParamName2Content&..."); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } ``` 在上面的代码中,curl_easy_setopt函数用于设置CURLOPT_URL和CURLOPT_POSTFIELDS参数,分别指定请求的URL和POST请求的参数。你可以根据自己的需求修改这些参数的值。 #### 引用[.reference_title] - *1* *2* [[转]C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装](https://blog.csdn.net/weixin_39590472/article/details/111725073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用CURL实现GET和POST方式请求](https://blog.csdn.net/lr199966/article/details/81094982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值