curl
无输出
返回
空白或者null问题解决
如果发现标题类似问题,很有可能是因为ssl证书问题导致只需要在
curl
方法中加入以下代码即可:
curl
_setopt($ch,
CURL
OPT_SSL_VERIFYPEER, false);//禁止
cURL
验证对等证书
curl
_setopt($ch,
CURL
OPT_SSL_VERIFYHOST, false);//是否检测服务器的域名与证书上的是否一致
赠送个比较全的
curl
代码
*
CURL
请求函数:支持POST及基本header头信息
使用
curl
POST数据时,如果POST的数据大于1024字节,
curl
并不会直接就发起POST请求。而是会分两步。
1.发送一个请求,header中包含一个Expect:100-continue,询问Server是否愿意接受数据。2.接受到Server
返回
的100-continue回应后,才把数据POST到Server。
但是!并不是...
$ch =
curl
_init();
curl
_setopt($ch,
CURL
OPT_URL, "http://www.163.com/");
curl
_setopt($ch,
CURL
OPT_HEADER, 0);
curl
_exec($ch);
curl
_close($ch);
当执行
curl
_exec($ch);后会即刻输出
返回
内容。
救不让它输出而得到它
返回
的
成功时
返回
TRUE,
或者在失败时
返回
FALSE。
然而,如果
CURL
OPT_RETURNTRANSFER选项被设置,函数执行成功时会
返回
执行的结果,失败时
返回
FALSE 。
很多时候
CURL
OPT_RETURNTRANSFER 没加导致只
返回
0 / 1
通过对程序的观察
curl
GET HTTP请求的时候登录的状态
没有
返回
相应,可以确定为访问的页面
没有
进行登录,问题定位为
curl
访问地址
没有
带cookie 可以通过页面等方式拿到cookie
当时的解决办法是
curl
-c cookei.txt http://xx.com/api/user/login -d '{“username”:“xx”,“password”}
到本地可以查看到cookei.txt 的文件
访问api地址
curl
-d cookie.txe http://xx.com/ap
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Tue, 01 Dec 2020 08:01:30 GMT
Connection: close
仔细一看发现
返回
但格式是gzip
所以要想显示请求体就要加上"–compressed"参数
本来想使用
curl
及awk取http的
返回值
。结果如下
[root@lamp scripts]#
curl
-I 192.168.152.5|awk ‘NF3{print $2}’
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent ...
curl
是常用的命令行工具,用来请求 Web服务器。它的名字就是客户端(client)的 URL 工具的意思。
它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。
不带有任何参数时,
curl
就是发出 GET 请求。
$
curl
https://www.example.com
上面命令向www.example.com发出 GET 请求,服务器
返回
的内容会在命令行输出。
-A参数指定客户端的用户代理标头,即Use