
http
宝宝可乖了
这个作者很懒,什么都没留下…
展开
-
使用select函数监测http请求超时
人生如逆旅我亦是行人最近研究怎么实现HTTP请求超时检测并踢掉请求的功能。一开始想到用linux的信号机制,可是用了感觉问题挺多的,好多时候不生效,要么就是不能一个进程里重复用。然后就在博客上找,基本都是说select的,索性我就两个都用了,DNS请求用信号,TCP连接和HTTP请求用seletct。一般我们用select都是在用到多路复用的情况下,也就是委托系统内核帮我们先检测一下...原创 2019-10-13 17:00:04 · 461 阅读 · 0 评论 -
http响应报文的长度
HTTP1.0http1.0因为是短连接,所以是没有keepalive的,对方会直接close()掉。也就是:while (read()/recv() == -1) ...对方close()后收到的就是-1。HTTP1.1HTTP 1.1标准给出了如下方法(按照优先级依次排列):响应状态(Response Status)为1xx/204/304或者请求方法为HEAD时,消...原创 2019-09-28 16:37:23 · 6559 阅读 · 0 评论 -
C++使用ssl发送https请求
最近用C++写爬虫,发现很不对劲。。。因为大部分网站都换成了https,每次获得的响应都是302。。提示重定向到他们的https站点上去,这太伤人心了,搞了半天,居然访问不了。当然不能这么放弃了,于是各种搜,终于明白了,https请求如何发出去和收到响应。总的来说,需要经过以下步骤:初始化OpenSSL创建CTX上下文环境建立TCP连接创建SSL套接字,将SSL与TCP SOCK...原创 2019-09-28 20:48:06 · 6637 阅读 · 3 评论 -
http的chunked编码
但远山长云山乱晓山青之前在http响应报文的长度中讲了http响应报文是如何告知客户端他要接收的长度的,其中就降到了“chunked”编码,那“chunked”编码具体怎么控制实现的呢?首先看一下http的响应头:HTTP/1.1 200 OKBdpagetype: 1Bdqid: 0x8329f5fd0015bc7cCache-Control: privateConnect...原创 2019-10-06 23:40:44 · 440 阅读 · 0 评论