libcurl实现HTTP

本文介绍了libcurl库在实现HTTP请求时的各种操作,包括HTTP方法(GET, POST, PUT等)、设置自定义请求头、处理HTTP响应码、范围请求、认证、Cookie管理和上传下载。通过示例详细解析了libcurl的功能与使用。" 117057035,10537220,C语言数值传递错误修复,"['c语言', '编程错误', '递归', '函数调用', '数值计算']
摘要由CSDN通过智能技术生成

关于libcurl的相关函数介绍以及参数详见官方说明      https://curl.haxx.se/libcurl/c/example.html
 

 

HTTP Request    

一个http请求包含方法、路径、http版本、请求包头

请求方法 GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS

GET

curl_easy_setopt(curl, CURLOPT_URL, "http://example.com?id=1")

 POST

curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "username=admin&password=123");

PUT

curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);

DELETE

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/file.txt");

libcurl HTTP 请求包头

默认不设置的包头

GET

GET /file1.txt HTTP/1.1
Host: localhost
Accept: */*

POST

POST /file1.txt HTTP/1.1
Host: localhost
Accept: */*
Content-Length: 6
Content-Type: application/x-www-form-urlencoded

设置自定义包头

添加一个包头 Name:Mike

struct curl_slist *list = NULL;
list = curl_slist_append(list, "Name: Mike");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_perform(curl);
curl_slist_free_all(list); /* free the list again */

修改一个包头 Host: Alternative

struct curl_slist *list = NULL;
list = curl_slist_append(list, "Host: Alternative");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_perform(curl);
curl_slist_free_all(list); /* free the list again */

删除一个包头

struct curl_slist *list = NULL;
list = curl_slist_append(list, "Accept:");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
curl_easy_perform(curl);
curl_slist_free_all(list); /* free the list again */

提供一个没有内容的包头

struct curl_slist *list = NULL;
list = curl_slist_append(list, "Moo;");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值