以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  使用Httpclient中的FormData带参数时超时  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177573)

--  作者:hongsejiyi
--  发布时间:2022/5/27 9:18:00
--  使用Httpclient中的FormData带参数时超时
使用如下代码:
Dim hc As New HttpClient("http://xsvjz.natappvip.cc/login")
hc.FormData.Add("username", "zsh")
hc.FormData.Add("password", "zsh2021")
hc.Timeout = 15
Output.Show(nr)

会显示超时,但偶尔会正常。
超时时,http request中显示 “login/post 100 Continue" 字样,如果正常时是”login/post  200 Ok",如下图:


此主题相关图片如下:100_continue.jpg
按此在新窗口浏览图片

请教问题如下:
通过浏览器(WEB端访问)一切正常,说明服务端处理数据,返回数据没有问题;
但就是通过 HttpClient的模式访问出现超时出错的情况,但有时也正常,蒙了就
如果不使用 FormData带参数的话,就不会超时,也就是加了这个功能时才会出现
这个“100 Continue”就是出现超时的标志,如何造成的,如何处理呢?谢谢




--  作者:有点蓝
--  发布时间:2022/5/27 9:33:00
--  
使用文档发上来看看

加上一句
hc.ContentType = "application/x-www-form-urlencoded"

--  作者:hongsejiyi
--  发布时间:2022/5/27 10:14:00
--  
加上了 hc.ContentType = "application/x-www-form-urlencoded" 结果也是一样的

老师,使用文档,指的是什么意思?(服务端代码,客户端代码吗?)
[此贴子已经被作者于2022/5/27 10:16:21编辑过]

--  作者:有点蓝
--  发布时间:2022/5/27 10:19:00
--  
如果是自己开发的服务端,就是服务端代码,客户端代码

如果是别人提供的接口,就是接口开发文档

--  作者:hongsejiyi
--  发布时间:2022/5/27 10:36:00
--  
发现将域名改为IP地址,就一切正常,再换成域名就又超时,但域名访问模式通过浏览器WEB方式访问是很正常的
在域名访问时,如果将FormData去掉,又一切正常,只是这种带参数的方式有“超时”的问题,这个功能眼前也正是我想要的
难道和域名访问有关

我先试一下原来的FT版本,看看是不是最新版的问题

--  作者:hongsejiyi
--  发布时间:2022/5/27 13:13:00
--  
试了一下2021.5.29的FT版本,问题同样存在,现上传相关文档的压缩包(含服务端、客户端、内网域名服务三个文件夹)
请老师给看看,是什么原因造成的,该如何处理
因为上传附件大小进行了限制,只是上传了服务端和客户端,内网域名服务的文件(7M大小),需要点击【内网域名服务下载,下载后文件夹【update_soft】放置在与【服务端、客户端文件同一级目录即可】

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:100continue超时测试.rar



[此贴子已经被作者于2022/5/27 13:17:58编辑过]

--  作者:有点蓝
--  发布时间:2022/5/27 13:47:00
--  
估计这个内网域名服务的问题。具体怎么解决我也不懂。
--  作者:hongsejiyi
--  发布时间:2022/5/27 15:00:00
--  
下图是我搜到的一些相关现象的处理方案,我看不懂,请老师帮忙解析一下,该如何处置(在域名访问,且使用内网域名服务访问时,服务器是能够得到提交的数据,只是在“响应客户端请求”的e.writestring("....."),在客户端没有起作用

图片点击可在新窗口打开查看此主题相关图片如下:100_continue_处理分析.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2022/5/27 15:22:00
--  
我也不懂是什么问题。试试加个状态码发回去

e.StatusCode=100
e.writestring....

--  作者:hongsejiyi
--  发布时间:2022/5/27 15:36:00
--  
我试一下