curl 使用及调用url时带有&符号被截断解决

转载请注明出处:

1.curl 调用带有&符号的ulr被截断问题解决

  用curl命令在服务器上调试接口时,一直调试不通,执行如下:

   在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的url 与请求的url 长度不一致, 且 & 符号后面的参数都被截断了。

  具体原因为:终端会将 & 视为特殊字符,表示将前台命令放入后台执行,并立即返回一个作业ID。因此,如果在 URL 中使用 & 符号而没有对其进行适当的转义或引用,终端会尝试将命令分隔成多个部分,并且只有第一个部分被视为有效的 URL 参数。

  解决方法:对 调用的 url 进行双引号括住,避免解析错误:

        加了双引号之后就可以正常调用了。

2. curl 请求

curl 在Linux 端模拟服务器请求:

  •   -H 后接相关请求头的设值
  •   -X 接请求的方法类型:GET ,POST ,DELETE,PUT
  •   -d 接请求体:可以为json或string 
  •   -k参数指定跳过 SSL 检测
  •   -v参数输出通信的整个过程,用于调试
curl -H 'Content-Type: application/json' -H 'Secret-Message: xyzzy' https://google.com -X POST -d '{"login": "emma", "pass": "123"}' 

   curl 一个 put请求:

curl -X PUT -H "Header-Name1: Header-Value1" -H "Header-Name2: Header-Value2" http://example.com

 

  在用 curl 调试接口时,可以添加 -v 参数,可以看到跟详细的过程参数,这对 调试时定位问题很有帮助。

                  

3.查看公网出口信息

  查看本机公网ip

curl ifconfig.me

  查看本机公网出口ip

curl cip.cc

 

posted @ 2023-07-19 23:53  香吧香  阅读(1019)  评论(0编辑  收藏  举报