curl命令怎么算成功(怎么判断curl调用接口返回成功:响应码)

本文目录
- 怎么判断curl调用接口返回成功:响应码
- Windows下怎么使用curl命令
- 如何使用curl
- php如何执行linux的curl指令
- 如何获取linux curl命令的执行结果
- win10怎么使用使用curl
怎么判断curl调用接口返回成功:响应码
背景:最近高可用测试,双机倒换后,需要统计多久倒换结束了。我的方法是通过业务来测试,客户端和服务端都能正常访问了,对外提供服务的能力肯定就提供了。
因为不知道什么时候倒换开始和结束,需要每一秒都发curl请求,然后统计每次调用接口的时间和响应结果,并根据响应结果写入文件,方便统计和分析测试结果。
我选择简单的shell脚本,上手快。Python的话需要环境上安装相应软件,请求的响应更容易处理更便于处理。本文选择shell,curl来发请求。
1) #! /bin/bash
# 指脚本使用/bin/bash来解释执行,#!是对脚本的解释器程序路径。标记为#!/bin/sh的脚本不应使用任何POSIX没有规定的特性 (如let等命令, 但#!/bin/bash可以)。
2) while循环的格式
while expression
do
command
command
```
done
或while
do
程序
done
举例:计数器控制的while循环
#!/bin/bash
int=1
while
do
echo $int
let "int++"
done
3) if判断
if ; then
elif ; then
else
执行第三段内容程式
fi
4) curl
***隐藏网址***
200
-I/--head 仅返回消息头部,使用HEAD请求
-s/--slient 减少输出的信息,比如进度
--connect-timeout 《seconds》 指定尝试连接的最大时长
-m/--max-time 《seconds》 指定处理的最大时长
-w "参数" 自定义curl的输出
-o/--output 《file》 指定输出文件名称
#!/bin/bash
#根据测试背景填写连接超时时长,单位秒
ct=5
#根据测试背景填写响应最大时长,单位秒
rm=5
#根据测试背景填写URL
***隐藏网址***
i=1
while
do
echo `date` === $i === 》》 get-baidu.log
let i++
***隐藏网址***
if ; then
echo `date` == $i ==$resp 》》 get-baidu.log
else
echo `date` == $i ==$resp 》》 get-baidu.log
echo `date` == $i ==$resp 》》 get-baidu-fail.log
fi
done
找个和待测试环境网络可达的Linux环境,修改相关信息,直接运行即可。
注意uri是get请求,如果是post需要修改curl。
如果需要token认证则根据待测系统的实现进行携带token , 修改curl命令即可。
如果需要ssl证书,则携带相应证书,修改curl命令即可。
如果是ipv6的URL,curl中带上-6 -g参数。
计算响应时长(本例子是双机倒换时长)日志查看,从 get-baidu-fail.log找到失败点,在总的日志中找到相应记录,进行计算即可。
Windows下怎么使用curl命令
官网下载curl文件。
使用方式一:在curl.exe目录中使用
解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录。
由于使用的是windows 64位 的系统,因此可以使用I386下的curl.exe工具。
进入到该目录后,执行curl --help测试:
使用方式二:放置在system32中
解压下载好的文件,拷贝I386/curl.exe文件到C:\Windows\System32
然后就可以在DOS窗口中任意位置,使用curl命令了。
使用方式三:配置环境变量
在系统高级环境变量中,配置
CURL_HOME ----- "你的curl目录位置\curl-7.43.0"
path ---- 末尾添加 “;%CURL_HOME%\I386”
这样与上面方式二的效果相同。
如何使用curl
curl使用笔记
***隐藏网址***
CURLOPT_FOLLOWLOCATION:设为0,则不会自动301,302跳转;
*CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。
*CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。
*CURLOPT_HEADER: 如果你想把一个头包含在输出中,设置这个选项为一个非零值。
*CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传输显示一个进程条,设置这个选项为一个非零值。
注意:PHP自动设置这个选项为非零值,你应该仅仅为了调试的目的来改变这个选项。
*CURLOPT_NOBODY: 如果你不想在输出中包含body部分,设置这个选项为一个非零值。
*CURLOPT_FAILONERROR: 如果你想让PHP在发生错误(HTTP代码返回大于等于300)时,不显示,设置这个选项为一人非零值。默认行为是返回一个正常页,忽略代码。
*CURLOPT_UPLOAD: 如果你想让PHP为上传做准备,设置这个选项为一个非零值。
*CURLOPT_POST: 如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值。这个POST是普通的 application/x-www-from-urlencoded 类型,多数被HTML表单使用。
*CURLOPT_FTPLISTONLY: 设置这个选项为非零值,PHP将列出FTP的目录名列表。
*CURLOPT_FTPAPPEND: 设置这个选项为一个非零值,PHP将应用远程文件代替覆盖它。
*CURLOPT_NETRC: 设置这个选项为一个非零值,PHP将在你的 ~./netrc 文件中查找你要建立连接的远程站点的用户名及密码。
*CURLOPT_FOLLOWLOCATION: 设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 “Location: “的头)。
*CURLOPT_PUT: 设置这个选项为一个非零值去用HTTP上传一个文件。要上传这个文件必须设置CURLOPT_INFILE和CURLOPT_INFILESIZE选项.
*CURLOPT_MUTE: 设置这个选项为一个非零值,PHP对于CURL函数将完全沉默。
*CURLOPT_TIMEOUT: 设置一个长整形数,作为最大延续多少秒。
*CURLOPT_LOW_SPEED_LIMIT: 设置一个长整形数,控制传送多少字节。
*CURLOPT_LOW_SPEED_TIME: 设置一个长整形数,控制多少秒传送CURLOPT_LOW_SPEED_LIMIT规定的字节数。
*CURLOPT_RESUME_FROM: 传递一个包含字节偏移地址的长整形参数,(你想转移到的开始表单)。
*CURLOPT_SSLVERSION: 传递一个包含SSL版本的长参数。默认PHP将被它自己努力的确定,在更多的安全中你必须手工设置。
*CURLOPT_TIMECONDITION: 传递一个长参数,指定怎么处理CURLOPT_TIMUE参数。你可以设置这个参数为TIMECOND_IFMODSINCE 或 TIMECOND_ISUNMODSINCE。这仅用于HTTP。
*CURLOPT_TIMUE: 传递一个从1970-1-1开始到现在的秒数。这个时间将被CURLOPT_TIMUE选项作为指定值使用,或被默认TIMECOND_IFMODSINCE使用。
下列选项的值将被作为字符串:
*CURLOPT_URL: 这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项。
*CURLOPT_USERPWD: 传递一个形如风格的字符串,作用PHP去连接。
*CURLOPT_PROXYUSERPWD: 传递一个形如 格式的字符串去连接HTTP代理。
*CURLOPT_RANGE: 传递一个你想指定的范围。它应该是”X-Y”格式,X或Y是被除外的。HTTP传送同样支持几个间隔,用逗句来分隔(X-Y,N-M)。
*CURLOPT_POSTFIELDS: 传递一个作为HTTP “POST”操作的所有数据的字符串。
*CURLOPT_REFERER: 在HTTP请求中包含一个”referer”头的字符串。
*CURLOPT_USERAGENT: 在HTTP请求中包含一个”user-agent”头的字符串。
*CURLOPT_FTPPORT: 传递一个包含被ftp “POST”指令使用的IP地址。这个POST指令告诉远程服务器去连接我们指定的IP地址。这个字符串可以是一个IP地址,一个主机名,一个网络界面名(在UNIX下),或是‘-’(使用系统默认IP地址)。
*CURLOPT_COOKIE: 传递一个包含HTTP cookie的头连接。
*CURLOPT_SSLCERT: 传递一个包含PEM格式证书的字符串。
*CURLOPT_SSLCERTPASSWD: 传递一个包含使用CURLOPT_SSLCERT证书必需的密码。
*CURLOPT_COOKIEFILE: 传递一个包含cookie数据的文件的名字的字符串。这个cookie文件可以是Netscape格式,或是堆存在文件中的HTTP风格的头。
*CURLOPT_CUSTOMREQUEST: 当进行HTTP请求时,传递一个字符被GET或HEAD使用。为进行DELETE或其它操作是有益的,更Pass a string to be used instead of GET or HEAD when doing an HTTP request. This is useful for doing or another, more obscure, HTTP request.
注意: 在确认你的服务器支持命令先不要去这样做。
下列的选项要求一个文件描述(通过使用fopen()函数获得):
*CURLOPT_FILE: 这个文件将是你放置传送的输出文件,默认是STDOUT.
*CURLOPT_INFILE: 这个文件是你传送过来的输入文件。
*CURLOPT_WRITEHEADER: 这个文件写有你输出的头部分。
*CURLOPT_STDERR: 这个文件写有错误而不是stderr。
转载,仅供参考。
php如何执行linux的curl指令
PHP 中执行系统命令有几种方式:
system():和 C 语言中的 system() 函数的用法是一样的,参数为命令行,成功则返回命令输出的最后一行,失败则返回 FALSE。
shell_exec():执行命令,然后返回命令执行后的 stdout 输出。
passthru():直接执行命令,然后将输出内容直接显示到网页上。
在这里,curl 的输出不用显示到网页上,所以 system() 可能比较合适。
如何获取linux curl命令的执行结果
可以用 $? 获取上一条shell命令的返回结果。
一般的约定是: 0 表示成功,非0表示失败。
例如:你可以试验一下
执行正确的shell 命令: 执行 ls,然后紧接着 echo $?
执行错误的shell 命令: 执行 ls /abcdefg,然后紧接着 echo $?
win10怎么使用使用curl
首先来了解下什么是curl命令,干什么用的? linux curl是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。
curl并不是双击即可运行,你需要在命令提示符下使用它
如何进入命令提示符
点击“开始”——“运行”——输入CMD
或,WIN+R,输入CMD
下载我下载版本的CURL后,解压后文件夹放在如:D:curl的文件夹里(curl路径)
命令提示符窗口中输入"d:"回车,然后输入“cd curl”即可跳转到curl文件夹,
至此可以输入curl命令了(根据你的curl类推)或你也可以将curl加入到系统环境变量如何将curl所在文件夹加入系统变量
右键单击“我的电脑”——“属性”——“高级”——“环境变量”——
“系统变量”——“Path”——“”——加入“;D:curl”(注意分号,
D:curl换成你的curl路径)——“确定”加入到系统环境变量后可在命令提示符内直接运行如
***隐藏网址***
这样的命令,无需进入curl所在文件夹curl命令用法!
实例演示:
***隐藏网址***
这个页面最底部有一个Windows下的下载链接,请选择不带SSL的版本,
否则还需要安装SSL的支持包。
解压后直接执行 curl.exe 即可(如不能直接运行,请使用cmd带路径执行curl.exe程序),如将改文件放入盘
C:curlcurl.exe.在cmd控制台为 C:curlcurl.exe --help
如果需要将cmd直接执行curl ,则可将curl.exe文件放入到C:WINDOWSsystem32目录下!

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10






