递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库

HP_HTTP ,请求阈值出现问题

查看数: 4488 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-1-16 09:41

正文摘要:

在HP_HTTP服务器中,消息解析完毕 内调用    取请求URL域值() 等方法出现严重问题 代码是直接在例程中修改的, 希望官方重视一下该支持库

回复

绯陌如夏 发表于 2024-1-18 00:21:34
Xelloss0618 发表于 2024-1-16 12:30
一、取内容长度返回的是请求头 Content-Length 的属性值,如果不是 POST,或者请求时没有加上这个头,就会 ...

通熟易懂,看过你的帮助后学到很多了.我还有一个小问题:

我们在客户端发起HTTP请求时,会在服务端先后触发[请求数据进入] [消息解析完毕]两个事件,该怎么判断没有BODY报文时的情况呢?

经过反复测试POST/GET等方式  发现.取内容长度 真的不靠谱, 可是请求头的Content-Length 又是可以随意定义的,有没有可以在[消息解析完毕]事件中调用的协议层代码来判断本次请求BODY报文为空的情况呢?

非常冒昧的打扰的你了
创世魂 发表于 2024-1-16 22:35:41
Xelloss0618 发表于 2024-1-16 12:30
一、取内容长度返回的是请求头 Content-Length 的属性值,如果不是 POST,或者请求时没有加上这个头,就会 ...

+1分
Xelloss0618 发表于 2024-1-16 12:30:18
一、取内容长度返回的是请求头 Content-Length 的属性值,如果不是 POST,或者请求时没有加上这个头,就会返回0。
也可能是某些事件里还没解析好请求头,所以获取不到。

二、字段数量不是一个有效的常量值,它只是用来表示“HPURL字段/EnHttpUrlField”有多少个有效常量,不应该使用。
<scheme>://<user>:<password>@<host>:<port>/<path>?<query>#<fragment>
上面是一个URL地址的格式,例如 http://user:password@baidu.com:80/s?wd=voldec#header
其中用户(user)、片段(fragment)非常少用,返回空白相当正常。
至于 概要(scheme) 和 主机(host) 为什么会空,那是因为在请求行里不会包含这些内容,只剩下访问路径,例如:
POST /s?wd=voldec#header HTTP/1.1
所以Host应该通过请求头获取(有提供的话)
创世魂 发表于 2024-1-16 11:33:11
绯陌如夏 发表于 2024-1-16 09:43
还有一个很重要急需的问题,就是如何获取客户端请求的域名?

是 hpurl字段.主机吗,该方法不能用... ...

通过   服务器1.取所有请求头 (连接ID)  
拿到请求头后通过 Host 协议头对应的值  就可以取到域名和端口。
对于host协议头没有提供域名和端口的,可以判定为异常访问,反馈404等信息,终止访问。
绯陌如夏 发表于 2024-1-16 09:43:02
还有一个很重要急需的问题,就是如何获取客户端请求的域名?

是 hpurl字段.主机吗,该方法不能用...

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-3-13 01:37 , Processed in 0.092977 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表