当前位置: 首页 > news >正文

潍坊个人网站制作asp 精品网站制作

潍坊个人网站制作,asp 精品网站制作,追波设计网站,宝塔系统搭建wordpress最近有个需求,需要用c请求下我自己的服务器,周末看了一下怎么发起http请求。 官方文档见: https://curl.se/libcurl/c/example.html 官网的demo是基于c的,我用的时候报错了。下面是我写的get/post的方法,同步执行。 n…

最近有个需求,需要用c++请求下我自己的服务器,周末看了一下怎么发起http请求。
官方文档见:

https://curl.se/libcurl/c/example.html

官网的demo是基于c的,我用的时候报错了。下面是我写的get/post的方法,同步执行。

namespace yeshen_http
{struct MemoryStruct{char *memory;size_t size;};static size_tWriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp){size_t realsize = size * nmemb;struct MemoryStruct *mem = (struct MemoryStruct *)userp;void *ptr = realloc(mem->memory, mem->size + realsize + 1);if (!ptr){std::cout << "not enough memory (realloc returned NULL)" << std::endl;return 0;}mem->memory = (char *)ptr;memcpy(&(mem->memory[mem->size]), contents, realsize);mem->size += realsize;mem->memory[mem->size] = 0;return realsize;}static const char *get_url = "https://yeshen.org";
}int HTTP::get(const char *url, std::string &response)
{CURL *curl = curl_easy_init();struct yeshen_http::MemoryStruct chunk;chunk.memory = (char *)malloc(1);chunk.size = 0;if (curl){curl_easy_setopt(curl, CURLOPT_URL, url);curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, yeshen_http::WriteMemoryCallback);curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);CURLcode res = curl_easy_perform(curl);int retCode = -1;if (res != CURLE_OK){std::cerr << "curl_easy_perform() failed:" << curl << curl_easy_strerror(res) << std::endl;}else if (chunk.size == 0){std::cout << (unsigned long)chunk.size << " bytes retrieved" << std::endl;}else{std::cout << (unsigned long)chunk.size << " bytes retrieved" << std::endl;response = chunk.memory;retCode = 0;}free(chunk.memory);curl_easy_cleanup(curl);return retCode;}return -1;
}int HTTP::post(const char *url, const std::string &data)
{CURL *curl = curl_easy_init();if (curl){const char *data_str = data.c_str();curl_easy_setopt(curl, CURLOPT_URL, url);curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data_str);curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(data_str));CURLcode res = curl_easy_perform(curl);if (res != CURLE_OK){std::cerr << "curl_easy_perform() failed:" << curl_easy_strerror(res) << std::endl;return -1;}curl_easy_cleanup(curl);return 0;}return -1;
}

cmake部分的处理

target_link_libraries(${YESHEN_TARGET_NAME} PRIVATE libcurl.so
)
http://www.yayakq.cn/news/59024/

相关文章:

  • 怎样才能把网站做好自考大型网站开发工具
  • 生鲜市场型网站开发事业单位可以建设网站吗
  • 得实网站建设wordpress参考文件夹
  • 郑州做网站公司排名天津滨海新区大爆炸
  • 本地做那种网站好一些广州那家做网站最好
  • 英文站 wordpress seo优化做东南亚跨境电商平台有哪些
  • 中企动力 网站建设 收费手机号码网站开发
  • 福建网站建设优化深圳总部企业名单
  • 南通网站建设 南大街做百度网站每年的费用多少
  • 网站顶部怎么做新浪链接电影网站建设报价
  • 室内设计师之路网站网站开发框架系统
  • 联通企业网站建设在哪个网站做图片视频带音乐
  • 开发网站建设设计公司物流跟踪网站建设
  • 陕西交通建设集团蓝商公司网站沈丘网站建设
  • 个人网站建立多少钱广告拍摄
  • 营销广告网站集团网页建设
  • 思科中国网站开发案例上海自贸区注册公司费用
  • 网站建设利弊wordpress php7加速
  • 企业网站关键词排名 swordpress 登陆链接
  • 免费论坛建站清博舆情系统
  • 《商务网站开发》 实训报告书互联网企业投诉服务平台
  • 方舟未来网站建设高校门户网站系统
  • 怎么做网站版面分析去哪儿网站开发
  • 安卓软件下载平台上海网站优化排名
  • 洗头竖鞋带名片改良授权做网站不贵赣州市赣楼网络科技有限公司
  • 哪些网站做面试题建设建设网站的
  • 网推网站河源市网站建设公司
  • 网站栏目描述怎么写13个优质平面设计网站推荐
  • 做国外网站什么好什么网站专门学做湖北菜
  • 网页模板素材网站深圳做网站建设比较好的公司