http协议
文章平均质量分 64
qianbo_insist
AI,网络安全,nodejs,c++ ,java,.net
email :[email protected]
weixin:18091589062
展开
-
go语言计算推算心率算法 http服务
/ 1 立刻返回,求数据结果立即返回,不用存储 // 2 单人所有数据24 小时内所有数据 // 3 其他 Type int //设备号码,唯一标识 Device string Data [ ] Data } type Repay struct {原创 2023-07-17 22:27:37 · 509 阅读 · 0 评论 -
python flask server 接收post数据注意
前面写了两篇文章,结果错误不少,经过修正,改了很多错误。原创 2023-07-11 16:52:04 · 983 阅读 · 0 评论 -
使用python get post数据 http https
目的比较简单,测试,使用python来提交数据是非常简洁的,修改代码也容易,除了做人工智能,本身也是一个非常好的测试端工具。原创 2023-07-11 05:27:52 · 1159 阅读 · 0 评论 -
mongoose实现httpserver,client
使用mongoose来做http协议的基础,基本上的函数都在一个c文件里面,直接包含c文件就可以实现一个httpserve和httpclient,可以实现一个小型的httpserver,要求的并发数不是很高,如下所示,直接将mongoose.c包含在项目里面。原创 2022-09-30 21:03:40 · 1309 阅读 · 0 评论 -
go udp server事件服务器
所有消息由udp server 接收,http协议进行获取,如智能面板中的udpserver 接收所有消息以后, 其他客户端可以获取所有流量udp server 记录所有的数据结构和流量,能力,定义角色如下:对应服务类型和编号ai server 推理服务器 :4nvr :6ipc :7分别启动udp 服务器 和http服务器。...原创 2022-08-26 21:55:05 · 530 阅读 · 0 评论 -
如何正确写c++ boost beast websocket server
这里有一个要求,就是获取客户端或者浏览器的url 请求路由1 我们在path里面打印路径2 我们显示beast 里的flat_buffer 的数据,根据最新的api实际上,beast 的文档里面详细说明了如何获取路由,我给大家摘出来:路径在boost的文档lib下handshaking.html里面libs/beast/doc/html/beast/using_websocket/handshaking.html那么相应使用异步代码的时候,我们就要改成异步的接收我们知道本身websocket协议原创 2022-07-10 10:20:08 · 1711 阅读 · 0 评论 -
大数据分析机器学习(三)之岭回归-医疗心率数据分析
大数据分析机器学习(一)之线性模型-年龄和心率关系大数据分析机器学习(二)之直方图和多元线性回归岭回归岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。数据以下是我们模拟的医疗数据,breath 呼吸次数,bp血压,heartbeat原创 2022-04-18 21:41:05 · 3751 阅读 · 0 评论 -
python 自动化测试数据并发送到http-nodejs server
使用python自动化测试,发送json到httpserver,使用nodejs做测试server接收查看数据原创 2022-04-12 13:49:37 · 1319 阅读 · 0 评论 -
html canvas blob image 污染源
html canvas 被污染当html中的图片来自于另外一个网站时,canvas被污染,这样,toDataURL和toBlob等函数等都不可以输出了,当canvas被污染的时候怎么做?https://developer.mozilla.org/的解决方案如下图:canvas 其中的图片来自于另外一个网站,再在四周画一个框,然后输出,正常。show me the code代码如下,和官方解决方式不太一样,我们使用下载图片,得到二进制来做这个事情。一样达到效果<!DOCTYPE html&原创 2021-07-26 17:51:20 · 452 阅读 · 2 评论 -
html canvas toblob 和下载图片
toblobcanvas 的toblob函数是直接生成二进制而不是base64 ,节省了流浪,下载直接为png图片。如下图所示。show me the code<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Canvas toBlob and download</title></head><body&原创 2021-07-26 15:43:56 · 1201 阅读 · 0 评论 -
c++future 配合httplib post 高级技巧
c++ futurec++11 的future函数实际上是线程的高级封装。先看一个线程void foo(int &n){ for (int i = 0; i < 5; ++i) { std::cout << "Thread executing\n"; ++n; std::this_thread::sleep_for(std::chrono::milliseconds(10)); }}int main(){ int n = 0; std::threa原创 2021-07-23 12:40:11 · 1882 阅读 · 3 评论 -
ipfs c++client
ipfs星际文件系统,大家都知道代码下载在这里c++ ipfs client这个客户端是根据一个开源的client修改的,实际上依然是根据libcurl的http协议来保持节点的互通,也就是外层协议封装的是http,restful方式,而内层核心依然是ipfs的文件系统方式。例如节点就建立在本机,ipfs::client client(“localhost”,5001) 建立基础客户端,如下代码所示int main(int, char**) { try { ipfs::Client cli原创 2021-07-20 22:12:22 · 459 阅读 · 0 评论 -
转mjpeg协议到httpflv
知识点mjpeg是动态jpeghttpflv 是接收mjpeg准备一个http客户端,接收mjpeg服务器的码流,实际上,他是一张张的jpg图片在http通道里面传输过来。以下是使用asio制作的一个客户端,链接http server之后,每次都去获取mjpeg帧的边界,叫 Content-Type:.*boundary=,还有一个关键就是获取每一帧的content-length,这个都是使用http协议解析来获取。void capture_start(s_param *param){ //开原创 2021-07-13 19:48:35 · 841 阅读 · 0 评论 -
mongoose c++封装
mongoose c++封装封装以后暴露一个回调函数,让main函数调用即可#pragma once#include "mongoose.h"//#include "../CorePhone/TThreadRunable.h"typedef void(*websocket_callback)(int flag, const char *p);static websocket_callback g_callback = NULL;class Service_HTTP //:public T原创 2021-07-08 09:53:11 · 937 阅读 · 2 评论 -
http mjpeg 图像读取
http mjpeg 图像格式网络摄像头的视频流解析直接使用通过http的Mjpeg是具有边界帧信息的multipart/x-mixed-replace,而jpeg数据只是以二进制形式发送。因此,实际上不需要关心HTTP协议标头。所有jpeg帧均以marker开头,0xff 0xd8并以结尾0xff 0xd9。因此,上面的代码从http流中提取了此类帧,并将其一一解码。像下面import cv2import requestsimport numpy as np r = requests.get(原创 2021-07-07 20:08:26 · 1740 阅读 · 0 评论 -
协议圣经 RTSP(三)
rtsp协议所有代码实例可能使用go c c++ java nodejs 等任何一种语言 协议捕获使用wiresharkReal Time Streaming Protocol 实时流协议。这个协议是大街小巷的人都知道的,谈熟悉他不容易,必须要懂RTP和RTCP协议:RTP 实时传输协议 Real-time Transport Protocol,RTCP 实时传输控制协议 Real-time ControlProtortsp的传输层是可以使用udp 和 tcp 的,所以可以说RT原创 2021-06-29 09:26:42 · 1176 阅读 · 1 评论 -
解析http头部和c++string的高级使用技巧
需求需求是解析upnp协议中的http 协议 和xml 中取得响应的内容,使用c++字符串的高级特性和http协议“\r\n”的特性匹配,使用std::istringstream来获取string 类中的每一行,分而治之,对每一行字符串再进行分解,达到我们解析头部的目的,事实上,没有完美无缺的技术,各个协议都是用的组合拳,把各类协议组合而得到一个完整的解决方案,upnp协议就是组播协议套上使用http 和 xml 以及soap 等来完成发现和控制。http协议头部示例HTTP/1.1 200 OK原创 2021-06-19 16:31:43 · 1639 阅读 · 0 评论 -
c函数sscanf的高级技巧
在解析url过程中,有时需要非常简单的分解,这时候可以使用几种方法例如const char *url = “http://192.168.1.144:1551/AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/control.xml”;把这个字符串分解成为http://192.168.1.144:1551 和/AVTransport/cff47b40-2475-7ff1-7459-318ec45c9853/control.xml如何做才是效率最高的原创 2021-06-16 22:11:34 · 718 阅读 · 5 评论 -
go 框架iris 响应记录器
irisgo 语言 iris 是一个强大的框架,写一个http 服务是比较方便的,记录他收到的所有参数,方法等等也是有必要的, 使用logger来记录,以便于调试和发现错误,因为在测试没有充分的情况下,至少打开记录器,我们是可以发现一些问题的。定义拦截器定义一个before 中间件,在main中使用Usefunc before(ctx iris.Context) { ctx.Record() requestPath := ctx.Path() println("Before the mainH原创 2021-06-15 17:34:47 · 617 阅读 · 1 评论 -
ssdp安全-攻击和防御
ssdp 概念ssdp 组播搜索upnp协议和dlna源码理解与修改简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。ssdp搜索是一种udp组播协议,在网络中发射协议内容后,所有设备按照协议会返回内容,包括我们常用的几种设备为方便都会使用ssdp协议,如摄像头打印机大屏幕网关这几种设备中最容易得到攻击的是大屏幕和打印机。例如《钢铁侠》电影中控制屏幕的协议,使用一个掌控设备就原创 2021-06-14 19:20:53 · 3826 阅读 · 7 评论 -
upnp协议和dlna源码理解与修改
SampleUtil_PrintEvent()这个函数是打印出所有的控制点原创 2021-06-13 22:57:02 · 1834 阅读 · 3 评论 -
c++ 使用正则匹配url
stl 中regex 非常好用,即使不用boost库也可以很轻易地且高效地摘取你想要的内容,这里提供一个class解析出 a href 的文件名路径和文件名和文件后缀名/* author:qianbo date :2014-11-06 功能 :解析html A href 取出其中的连接,解析出全路径 文件前缀 文件后缀*/#include <regex> #include <string> #include <iostream>原创 2021-06-10 20:50:10 · 1477 阅读 · 0 评论 -
c++ 高效解析url算法
协议解析url用处http协议,rtp协议,rtmp协议,rtsp中解析url,很多语言都有封装的解析URL的工具类库,在c++ 写的server的中如果需要解析url,需要写一个高效率的解析封装方法。这里使用c++,仅仅使用c++ STL 的string 类 以及c++的封装特性,解析尽量使用了c的方式,以便于改进。比较和查找在url中查找字符串,如?,&,等等static inline int judge_equeal(const char *pos, const char *comp原创 2021-06-10 19:58:20 · 4963 阅读 · 1 评论 -
关于socket组播和ssdp(一)[修改1.2]
组播 单播和广播 组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费,我们知道单播在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。 组播在发送者和每一接收者之间实现点对多点网络连原创 2021-06-09 22:37:00 · 1785 阅读 · 1 评论 -
nodejs 获取内存,网络 ,连接 ,磁盘等等
完整的程序链接下载util建立一个util,计算使用var utils = {}utils.humanFileSize = function(bytes, isDecimal) { isDecimal = (typeof isDecimal !== 'undefined') ? isDecimal : false; if (bytes == 0) { return "0.00 B"; } var base = isDecimal ? 1000 : 1024; var e原创 2021-06-04 10:53:04 · 2558 阅读 · 0 评论 -
c语言调用sqlite
db sqlite c语言#ifndef _DB_PLUGIN_H_#define _DB_PLUGIN_H_#pragma warning(disable: 4996)//#include "mongoose.h"//typedef struct mg_keyvalue//{// char *key;// int klen ;// char *value;// int vlen;//}mg_keyvalue;void *db_open(const char *db_path原创 2021-06-02 18:45:14 · 382 阅读 · 0 评论 -
nodejs ffmpeg 超级工具 rtsp fmp4 rtmp
const fs = require(‘fs’);const ffmpegPath = require(‘ffmpeg-static’).path;const ffmpeg = require(‘fluent-ffmpeg’);ffmpeg.setFfmpegPath(ffmpegPath);const express = require(‘express’);const app = express();app.use(express.static(__dirname + ‘/public’))原创 2021-05-29 20:30:56 · 2867 阅读 · 0 评论 -
使用mongoose来创建嵌入式websocket客户端和http客户端
使用mongoose来使用websocket客户端和http客户端使用mongoose原因1 嵌入式非常合适2 在简单需要的场合下,不需要其他文件,只需要两个文件包含包含mongoose.h 和 mongoose.c 就可以使用了,比较方便,尤其在嵌入式里面,这两个文件就很有用了,不用其他依赖httpclient#include "httpclient.h"#include "mongoose.h"/* RESTful server host and request URI *///原创 2021-05-27 20:12:37 · 3279 阅读 · 4 评论 -
c++20 协程 图片识别框架 紫丁香
目的【听雨堂】 从web上传图片和视频,httpserver后台接收,进行图片识别并返回使用框架1 asio2 websocketpp3 websock 【紫丁香研发】4 opencv5 调用pythonhttpserver和websocket server第一版使用的httpserver 和 websocket server 是由websocketpp制作的路由比如nodejs 的 express 或 koi比如go 语言的iris 等等那种路由方式很理想这里模仿这种方式,使用c原创 2021-05-26 21:13:41 · 316 阅读 · 0 评论 -
go发布http 文件server
package mainimport ( "log" "net/http" "os")func main() { os.Mkdir("file", 0777) http.Handle("/file/", http.StripPrefix("/file/", http.FileServer(http.Dir("file")))) err := http.ListenAndServe(":8080", nil) if err !=原创 2021-03-14 21:58:46 · 216 阅读 · 0 评论 -
简洁的c++http协议获取内容(二)--获取服务器图片
1 需求 获取http server的图片用http协议获取server上的图片,前面有文章使用socket直接获取http内容之一,链接如下:简洁的c++http协议获取内容一2 使用boost的asio 来获取图片,读者可以自行修正成异步获取,这里是同步获取boost的asio有很多好处,不同于其他封装,可以使用同步,异步,协程方式获取,这里使用的是同步,调用一个函数返回图片内存和图片大小,当然,读者可以修改,这里只是一个demo。show me th e code#include <原创 2021-05-19 16:53:07 · 1414 阅读 · 2 评论 -
rtmp httpflv 服务优化以及安全性分布式探讨
文章目的文章是为了记录下httpflv优化过程,服务器是rtmp推流接流服务,最后由于要在web上展示,所以使用了httpflv 和ws flv 的服务,也就是说需要一个http服务器和websocket服务器,为了灵活性,不使用其他开源的方式,而是使用c++自行实现http服务和websocket服务,当然您也可以用其他开源的库实现。rtmp 服务选型使用了boost库的asio,使用其中的协程方式,boost库使用了1.7版本。void start(uint16_t port) { asi原创 2021-05-16 16:52:47 · 510 阅读 · 1 评论 -
投放屏幕upnp协议探究抓包
其它的关于DLNA的介绍就不多说,要了解DLNA需要了解upnp,因为DLNA在upnp之上,初学者可以从http://www.upnp.org下载upnp的资料.也欢迎大家加入197683240 DLNA交流群。upnp分为四步:发现 、描述 、控制 、事件发现当一个UPnP的设备加入网络,并想知道什么UPnP服务在网络上可用,它发送一个发现消息多播地址239.255.255.250端口1900通过UDP协议。此消息包含一个头,类似于一个HTTP请求。该协议有时被称为为HTTPU(HTTP通过UDP原创 2021-05-05 22:22:38 · 2555 阅读 · 1 评论 -
nodejs 生成证书 和 wss server
1 生成私钥key文件和crt文件首先安装openssl 64位,找到目录,在bin下面有openssl可执行程序当前目录下生成private.pemopenssl genrsa 1024 > private.pem//注意环境变量的设置,否则会出现错误,这里请改成自己的目录set OPENSSL_CONF=I:\OpenSSL-Win64\bin\cnf\openssl.cnf//#私钥文件再生成CSR证书签名openssl req -new -key ./private.pem原创 2021-04-12 21:58:30 · 1099 阅读 · 0 评论 -
投屏协议与rtsp协议
投屏协议以实时性来说,需要用到rtsp协议,实时性较高,各方面是比较符合抓取后投送到大屏上的,无论大屏用的dlna还是miracast,rtsp协议是少不了的,那么,做一个rtspserver 就是一个必需品了。投屏测试服务器首先是投屏协议可以使用kodi来作为render来测试,为了简便,实际上可以使用node, python 来做dmc控制器,要做一个控制器是要用upnp协议的,并不难,难的是要把出错控制等都做好,在kodi中把服务撑起来,一个一个解决,第一个就是要解决rtspserver的问题,原创 2021-04-07 21:37:47 · 1917 阅读 · 7 评论 -
使用go来做系统,如何比java node php 更 简单
使用gogo语言的好处不言而喻:效率问题,无论是开发效率还是运行效率至少都兼顾了,比较适合中国国情。运行可以以脚本运行,可以编译结果运行跨平台没有大问题例子,五分钟httpserve 和 mysql 准备好show me the code先写一个数据库连接获取数据的 package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx"原创 2021-03-28 17:24:02 · 341 阅读 · 0 评论 -
rtsp 协议读取视频进行分析并返回结果到websocket server
一、rtsp 协议读取视频1.1读取方法ffmpeg这种方法和opencv是一样的,因为opencv使用的就是ffmpeg,结果不是很好,断线重连不是很好做,有一个好处是不用引入其他库,ffmpeg也用来解码之用。1.2 live555速度快,断线重连比较方便,摄像头像海康大华等等时间长了会自动重启内部服务,这时候涉及断线重连。这里使用这种方式。1.3 自己写接收代码理解rtsp协议之后使用udp服务接收帧,这种好处是完全控制协议和数据,最大的灵活性,但是也带来代码调试量增多的问题。二、基础算原创 2021-03-18 21:47:08 · 1341 阅读 · 0 评论 -
webrtc 和 rtp 协议 之sctp
继续说webrtc和rtpwebrtc和rtp 一上次文章一已经说明了webrtc 和 rtp 协议的关系,说明了而sctp 协议 Stream Control Transmission Protocol(SCTP)协议在chrome中打开如下地址:chrome://webrtc-internals/,可以看到很多信息,里面channel-data-1 是数据通道可以看到google peer 2 peer 是使用的libjingle 时间戳像是一个服务一样,一直在更改。这不得不引起我们的注原创 2021-02-23 08:11:26 · 1075 阅读 · 1 评论 -
简洁的c++http协议获取内容(一)
使用http协议的好处1、http协议简单,成熟2、短链接获取数据后释放不过在c++中,如果时简单的get 、 post 交互,c++ 不像java,node,或者go那样,随手就写出来,不理解网络包或者没有经验,无非就只能引入包,引入一个包并不难,本来很轻量的程序为了一个两个简单的交互引入越来越多的包并不是好事情,下面我们徒手写一段,可以使用该代码简单地获取数据而不用引入其他包。http协议 getint getData(const char* host, unsigned short port原创 2021-02-17 17:19:49 · 3882 阅读 · 1 评论 -
base64 编码 在websocket协议中的应用
base64 编码 在websocket协议中的应用一 、base64作用1、参数传输的过程中使用2、传输二进制图片,可以将字符直接插入页面中3、基于64个可打印的字符转换表示二进制的数据二、缺陷1、明显会增长数据的量,尤其是图片转化,增长三分之一左右,这个量其实不小了三、代码 show me the code我们知道websocket协议建立在http协议基础之上,实现websocket协议前面要实现一段http协议代码,然后upgrade,在websocket协议中,RFC6455 文档原创 2021-02-14 19:46:34 · 915 阅读 · 0 评论