简单的 curl HTTP的POSTGET请求以及ip port连通性测试

news/2024/10/24 5:41:15/
http://www.w3.org/2000/svg" style="display: none;">

简单的 curl HTTP的POST&GET请求以及ip port连通性测试

1. 需求

我们公司有一个演示项目,需要到客户那边进行项目部署,项目部署完成后我们需要进行项目后端接口的测试功能,但是由于客户那边么有条件安装类似于postman这种的测试工具,所以我们只能使用 LINUX curl 命令来模拟登录接口的登录测试。

2. 模拟测试过程

我们测试的登录一共有两个接口,其中一个是我们uaa-server登录服务,使用登录服务ip 端口直接进行登录,另一个为我们使用网关接口,进行登录转发到登录系统,进行登录操作。接口支持form-data以及json格式参数登录,请求方式为POST形式。

注意:我们测试环境密码校验部分已经注释,可以随意填写,所以测试密码为随机填写

具体参数如下:

  • header:登录服务为信贷以及风险两个项目提供登录,使用一个 systemFlag为系统判定参数,0 信贷 1风险
  • username: 用户名
  • password: 用户密码

uaa-server以及credit-gateway两个服务具体的请求的地址分别如下:

  • uaa-server:http://10.100.3.13:11204/login
  • credit-gateway:http://10.100.3.12:11200/dics/demo/login/login

2.1 postman 测试接口

我们使用postman分别进行接口测试,由于两种登录的参数相同,那么我们就使用一个接口进行postman进行测试了,我们使用网关接口进行测试:

  • header 内容为 0 信贷查询
    https://i-blog.csdnimg.cn/direct/ba53c82a7c114acbbdf24073b3dd2d98.png" alt="在这里插入图片描述" />
  • 请求参数为 name以及password,请求类型为 form-data
    https://i-blog.csdnimg.cn/direct/9297c690963d42b894db5a6ddfeb49b1.png" alt="在这里插入图片描述" />
  • 请求返回结果如下:
    https://i-blog.csdnimg.cn/direct/a517e176325642df96bf571690223094.png" alt="在这里插入图片描述" />
  • 我们使用 json 格式再次进行请求,发现可以正常请求
    https://i-blog.csdnimg.cn/direct/05c3dcd32f8340748ffdc6b8ef8a2ef0.png" alt="在这里插入图片描述" />

2.2 curl 测试接口

我们使用curl 进行测试接口,接口使用网关接口,首先我们使用 json 格式进行请求接口

curl -v -X POST -H "Content-Type:application/json" "systemFlag: 0" -d '{"password":"a11111","username":331326}'  http://10.100.3.12:11200/dics/demo/login/login

具体的参数解释如下:

  • -v:启用详细模式,显示更多调试信息。
  • -X POST:指定请求方法为 POST。
  • -H “Content-Type:application/json” 设置Content-Type为json格式
  • -H “systemFlag: 0”:添加一个名为 systemFlag 的请求头,并将其值设置为 0。
  • -d ‘{“password”:“a11111”,“username”:331326}’ json格式的请求体

执行结果如下,成功相应token信息:
https://i-blog.csdnimg.cn/direct/3c74f5545d6b44dda30ad3162ae79f7e.png" alt="在这里插入图片描述" />
我们再使用form-data形式请求接口,具体的请求语句如下:

curl -v -H "Content-Type: multipart/form-data" -X POST -F 'username=331326' -F 'password=a11111' http://10.100.3.12:11200/dics/demo/login/login --insecure

具体的参数解释跟上面解释相同,稍微不同的解释如下:

  • -H “Content-Type: multipart/form-data” 使用 form-data形式访问
  • -F ‘username=331326’ -F ‘password=a11111’ 具体的请求标点 form 参数
  • –insecure 允许 curl 忽略 SSL 证书验证

请求结果如下所示,发现卡住了,卡在了 HTTP/1.1 100 Continue 处不动了 :
https://i-blog.csdnimg.cn/direct/1b6674cecc29439abc6830bb965cb321.png" alt="在这里插入图片描述" />
原因:当你执行 curl 命令时,如果遇到 HTTP/1.1 100 Continue 响应并卡住,这通常是由于服务器在等待客户端发送完整的请求体。100 Continue 是 HTTP/1.1 中的一种状态码,表示服务器已经收到了请求头,并且客户端应该继续发送请求体。

解决方法:尝试禁用 100 Continue 状态码的处理,使用 -H “Expect:” 参数来禁用 Expect: 100-continue 头,修改后的脚本为:

curl -v -H "Content-Type: multipart/form-data" -H "Expect:" -X POST -F 'username=331326' -F 'password=wcwcwcw' http://10.100.3.12:11200/dics/demo/login/login --insecure

https://i-blog.csdnimg.cn/direct/3ac6d0148c64441daea92b1445278a86.png" alt="在这里插入图片描述" />
发现脚本可以正常执行了,并且返回了需要的token信息。

3. curl ip port连通性测试

我们测试当前机器是否与 10.100.3.12:11200 网络相同,可以使用curl 命令进行测试,具体脚本如下:

# -m 为设置超时时间10s
curl -v -m 10 --insecure http://10.100.3.12:11200/

我们在服务器上执行的结果如下:

  • 如果连接成功
    https://i-blog.csdnimg.cn/direct/4ed7d24ff6dc46bab144858803d6c3df.png" alt="在这里插入图片描述" />
  • 如果连接失败
    https://i-blog.csdnimg.cn/direct/1ff6832405ea4ca69805c2a7329c5601.png" alt="在这里插入图片描述" />

http://www.ppmy.cn/news/1541524.html

相关文章

STM32CubeMX软件界面不清晰调整方法

STM32CubeMX软件界面不清晰调整方法 添加系统环境变量 变量名: J2D_D3D 变量值: false 结果 貌似没有多大变化 添加上述系统环境变量后界面变化如下(没什么大变化) 参考链接 STM32CubeMX软件界面花屏,混乱的解决方案。 彻底解决STM32CUBEMX画面撕裂/重影问题

【Qt】控件——Qt显示类控件、常见的显示类控件、显示类控件的使用、Label、LCD Number、ProgressBar、Calendar Widget

文章目录 Qt4. Qt显示类控件LabelLCD NumberProgressBarCalendar Widget Qt 4. Qt显示类控件 Label QLabel 可以用来显示文本和图片。 属性说明textQLabel 中的文本textFormat文本的格式:Qt::PlainText:纯文本 Qt::RichText:富文本&#xf…

FileLink跨网文件交换平台——能源化工行业的安全传输解决方案

在现代能源化工行业中,数据的快速、安全传输至关重要。随着项目的复杂性和跨地域合作的增加,传统文件传输方式已无法满足日益增长的需求。为此,FileLink跨网文件交换平台应运而生,成为能源化工行业高效、安全的传输解决方案。 Fil…

npm run serve 提示异常Cannot read property ‘upgrade‘ of undefined

npm run serve 提示Cannot read property ‘upgrade’ of undefined 一般是proxy的target代理域名问题导致的,如下: 解决方案: proxy: { “/remoteDealerReportApi”: { target: ‘http://demo-.com.cn’, //此域名有问题,会导致…

数据库安全:常见数据库安全攻击手段及防范措施

数据库安全: 常见数据库安全攻击手段及防范措施 在当今数字化时代,数据库存储着大量的关键信息,包括用户数据、财务信息、商业机密等。因此,数据库安全至关重要。了解常见的数据库安全攻击手段以及相应的防范措施,可以帮助我们更好地保护数据库免受攻击。 一、常见数据库…

MySQL笔试面试题之AI答(2)

文章目录 6. 如何通过 Shell 登入 MySQL?7. MySQL如何列出所有数据库?8. 如何MySQL切换到某个数据库并在上面工作?一、登录到 MySQL二、查看所有数据库(可选)三、切换到目标数据库四、在目标数据库上工作五、注意事项 …

探索 JavaScript 事件机制(二):如何自定义事件

前言 在上篇文章中,我们了解了 JavaScript 的事件机制是怎么回事:从事件冒泡到事件捕获,再到事件委托。这次我们要更进一步,聊聊如何在 JavaScript 中自定义事件。这玩意儿可是前端开发中的一把利器,学会之后&#xf…

大厂面试真题-了解云原生吗,简单说一下docker和k8s

K8s(Kubernetes)和Docker都是容器化技术中的关键组件,但它们各自扮演着不同的角色。以下是对这两者的详细解析: 一、Docker Docker是一个开源的容器化平台,它允许开发人员将应用程序及其依赖项打包为一个独立的镜像&…