当前位置: 首页 > news >正文

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

简单的 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 信贷查询
    在这里插入图片描述
  • 请求参数为 name以及password,请求类型为 form-data
    在这里插入图片描述
  • 请求返回结果如下:
    在这里插入图片描述
  • 我们使用 json 格式再次进行请求,发现可以正常请求
    在这里插入图片描述

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信息:
在这里插入图片描述
我们再使用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 处不动了 :
在这里插入图片描述
原因:当你执行 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

在这里插入图片描述
发现脚本可以正常执行了,并且返回了需要的token信息。

3. curl ip port连通性测试

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

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

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

  • 如果连接成功
    在这里插入图片描述
  • 如果连接失败
    在这里插入图片描述

相关文章:

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

简单的 curl HTTP的POST&GET请求以及ip port连通性测试 1. 需求 我们公司有一个演示项目,需要到客户那边进行项目部署,项目部署完成后我们需要进行项目后端接口的测试功能,但是由于客户那边么有条件安装类似于postman这种的测试工具&am…...

ubuntu下快捷键启动程序

背景:公司自开发的软件,经常需要启动,每次去找目录启动很麻烦,所以想快捷启动 方法1: 通过编辑.baserc启动 例如启动程序是toolA, 放在/home/user/software/目录下,那么在~/.baserc里面加入一行代码 al…...

Yii2 init 初始化脚本分析

脚本目的: init 脚本主要的作用是:从 environments 目录中复制配置文件,确保应用适配不同环境(例如开发、生产环境等)。 工作流程: 获取 $_SERVER 的 argv 参数 加载 environments/index.php 文件&#…...

深入理解gPTP时间同步过程

泛化精确时间协议(gPTP)是一个用于实现精确时间同步的协议,特别适用于分布式系统中需要高度协调的操作,比如汽车电子、工业自动化等。 gPTP通过同步主节点(Time Master)和从节点(Time Slave)的时钟,实现全局一致的时间参考。 以下是gPTP实现主从时间同步的详细过程:…...

基于阿里云服务的移动应用日志管理方案—日志的上传、下载、存档等

前言 如题,基于阿里云服务(ECS、OSS)实现 APP 的用户日志上传以及日志下载的功能,提高用户反馈问题到研发去分析、定位、解决问题的整个工作流的效率。 术语 ECS: 云服务器ECS(Elastic Compute Service)…...

Python浪漫之画星星

效果图(动态的哦!): 完整代码(上教程): import turtle import random import time # 导入time模块# 创建一个画布 screen turtle.Screen() screen.bgcolor("red")# 创建一个海龟&a…...

Android使用协程实现自定义Toast弹框

Android使用协程实现自定义Toast弹框 ​ 最近有个消息提示需要显示10s,刚开始使用协程写了一个shoowToast方法,传入消息内容、显示时间和toast显示类型即可,以为能满足需求,结果测试说只有5s,查看日志和源码发现Android系统中Toa…...

git diff命令详解

git diff 是 Git 中非常常用的命令,用于比较不同版本的文件改动。可以比较工作区、暂存区、或者提交之间的差异。下面是对 git diff 常用场景的详细解释: 1. git diff 当你执行 git diff 时,它会显示工作区与暂存区之间的差异,也…...

Vue 插槽:组件通信的“隐形通道”

在 Vue 中,插槽(slot)是实现组件内容分发的机制,允许我们将子组件的内容传递给父组件,从而提升组件的可复用性和灵活性。插槽的本质是通过将父组件内容传递到子组件指定的插槽位置,使得子组件在渲染时可以动…...

react1816中的setState同步还是异步的深层分析

setState 是 react 中更新 UI 的唯一方法,其内部实现原理如下: 调用 setState 函数时,React 将传入的参数对象加入到组件的更新队列中。React 会调度一次更新(reconciliation),在调度过程中,Re…...

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第七篇-体积纹理绘制】

我们前几篇已经完成了渲染部分,现在终于开始做动态绘制功能了 之前使用的是这样一个体积雾的切片图,那么现在要做的就是动态编辑它 首先,让我们简单了解一下它是如何运作的: 开始绘制画布以渲染目标,并将材质绘制到画…...

Linux的环境搭建

目录 1、linux的简单介绍 2、搭建linux环境 2.1 linux的环境安装 2.2 使用Xshell远程登入linux 2.2.1 Xshell免密登入 2.3 windows与Xshell与linux云服务器的关系 1、linux的简单介绍 linux操作系统 为 部分汇编 C语言编写 的操作系统 源代码公开(开源),官…...

WPF+Mvvm案例实战(五)- 自定义雷达图实现

文章目录 1、项目准备1、创建文件2、用户控件库 2、功能实现1、用户控件库1、控件样式实现2、数据模型实现 2、应用程序代码实现1.UI层代码实现2、数据后台代码实现3、主界面菜单添加1、后台按钮方法改造:2、按钮添加:3、依赖注入 3、运行效果4、源代码获…...

网络爬虫-Python网络爬虫和C#网络爬虫

爬虫是一种从互联网抓取数据信息的自动化程序,通过 HTTP 协议向网站发送请求,获取网页内容,并通过分析网页内容来抓取和存储网页数据。爬虫可以在抓取过程中进行各种异常处理、错误重试等操作,确保爬取持续高效地运行 1、Python网…...

如何有效解除TikTok账号间的IP关联

在当今社交媒体环境中,TikTok凭借其独特的短视频形式吸引了数以亿计的用户。对许多内容创作者而言,运营多个账号是获取更大曝光和丰富内容的有效策略。然而,如何避免这些账号之间的IP关联,以防止被平台识别并封禁,成为…...

Python自省机制

Python 自省机制 Python 自省(Introspection)是一种动态检查对象的能力,使得开发者可以在运行时获取对象的相关信息,比如属性、方法、类型等。自省机制让 Python 具备了更强的动态性和灵活性,便于调试和开发。 自省&…...

wgan-gp 对连续变量 训练,6万条数据,训练结果不错,但是到局部的时候,拟合不好,是否可以对局部数据也进行计算呢

Wasserstein GAN with Gradient Penalty (WGAN-GP) 是一种改进的生成对抗网络(GAN),它通过引入梯度惩罚来改进训练过程,从而提高生成模型的稳定性和质量。如果你在使用WGAN-GP对连续变量进行训练时,发现整体训练结果不…...

python 制作 发货单 (生成 html, pdf)

起因, 目的: 某个小店,想做个发货单。 过程: 先写一个 html 模板。准备数据, 一般是从数据库读取,也可以是 json 格式,或是 python 字典。总之,是数据内容。使用 jinja2 来渲染模板。最终的结果可以是 h…...

GeoWebCache1.26调用ArcGIS切片

常用网址: GeoServer GeoWebCache (osgeo.org) GeoServer 用户手册 — GeoServer 2.20.x 用户手册 一、版本需要适配:Geoserver与GeoWebCache、jdk等的版本适配对照 ​ 查看来源 二、准备工作 1、数据:Arcgis标准的切片,通过…...

深度学习-卷积神经网络-基于VGG16模型, 实现猫狗二分类(文末附带数据集下载链接, 长期有效)

简介: 1.基于VGG16模型进行特征提取, 结合mlp实现猫狗二分类 2.训练数据--"dog_cat_class\training_set" 3.模型训练流程 1.对图像数据进行导入和预处理 2.搭建模型, 导入VGG16模型, 去除mlp层, 将经过VGG16训练后的数据作为输入, 输入到自建的mlp层中进行训练, 要…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...