C++HTTP请求学习(一)

C++HTTP请求学习(一)(从注销的账号转移过来)

简述:最近在找一个C++封装的http请求库进行学习,也打算根据开源库封装一个自己项目可能使用的一个通用帮助类库,所以找到了ic-client。ic-client是基于libcurl封装的一个开源项目。下面简单介绍一下ic client的功能和Http请求的状态码。

一、ic client介绍

​ ic client基于libcurl库封装了相关的http请求接口。libcurl是通过C++11实现的,支持跨平台。从项目的使用上来看,这个库(libcurl)还是比较成熟的,性能和代码可读性都比较好。

ic client的功能:

  • HTTP、POST、PUT、DELETE、HEAD请求
  • 是否重定向,及重定向最大次数
  • 超时(毫秒)
  • SSL证书和密钥
  • 验证HTTPS请求对象的合法性
  • HTTP(s)代理
  • 接受的内容编码方式 (Accept-Encoding)
  • Cookie
  • Post请求数据(可设置MIME类型)
  • 自定义传输进度处理(例如下载进度条)
  • 文件下载(普通下载、断点续传、分片下载)
  • 限制下载/上传速度

内容截取自:GitHub - Leopard-C/iclient

二、HTTP请求状态码

(一)1XX - 信息响应

状态码描述含义
100Continue服务器已收到请求的开头部分,客户端应继续发送其余部分。
101Switching Protocols服务器已理解客户端的请求,并将切换协议。
102Processing服务器已收到并正在处理请求,但尚未完成。
103Early Hints服务器返回一些响应头,以便客户端开始预加载资源。

(二)2XX - 成功

状态码描述含义
200OK请求成功。对GET请求,响应将包含对应请求的实体。
对POST请求,响应将包含描述或包含该操作结果的实体。
201Created请求已成功,并因此创建了一个新的资源。
202Accepted服务器已接受请求,但尚未处理。
203Non-Authoritative Information服务器已成功处理了请求,但返回了可能来自另一来源的信息。
204No Content服务器成功处理了请求,但未返回任何内容。
205Reset Content服务器成功处理了请求,但未返回任何内容。
与204响应不同,此响应要求请求者重置文档视图。
206Partial Content服务器已成功处理了部分GET请求。

(三)3XX - 重定向

状态码描述含义
300Multiple Choices针对请求,服务器可执行多种操作。服务器可根据请求者(user agent)选择一项操作,或提供操作列表供请求者选择。
301Moved Permanently请求的网页已永久移动到新位置。
302Found请求的网页已临时移动到新位置。
303See Other服务器已理解请求,但需要进一步的信息来完成请求。
304Not Modified自从上次请求后,请求的网页未修改过。
305Use Proxy请求者只能使用代理访问请求的网页。
307Temporary Redirect服务器目前从不同位置的不同URL响应请求,但请求者应继续使用原有位置来进行以后的请求。

(四)4XX - 客户端错误

状态码描述含义
400Bad Request服务器无法理解请求的格式,客户端不应再次尝试该请求。
401Unauthorized请求需要用户的身份认证。
403Forbidden服务器理解请求,但拒绝执行它。
404Not Found服务器找不到请求的网页。
405Method Not Allowed禁用请求中指定的方法。
406Not Acceptable无法使用请求的内容特性响应请求的网页。
407Proxy Authentication Required此状态码类似于401(Unauthorized),但指定请求者应当授权使用代理。
408Request Timeout服务器等候请求时发生超时。
409Conflict服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
410Gone如果请求的资源已永久删除,服务器就会返回此响应。

(五)5XX - 服务器错误

状态码描述含义
500Internal Server Error服务器遇到错误,无法完成请求。
501Not Implemented服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502Bad Gateway服务器作为网关或代理,从上游服务器收到无效响应。
503Service Unavailable服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504Gateway Timeout服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505HTTP Version Not Supported服务器不支持请求中所用的HTTP协议版本。

三、HTTP

HTTP协议超级详解_http协议 csdn-CSDN博客

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值