curl 调用url时带有&符号被截断

curl,调用,url,带有,符号,截断 · 浏览次数 : 102

小编点评

**转载自:** 在使用 curl 命令调试接口时,如果请求包含 & 符号,会导致命令分隔错误。 **解决方法:** 1.对请求的 URL 进行双引号括住。 2.添加 -v 参数,显示详细的过程参数。

正文

转载请注明出处:

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

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

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

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

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

  

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

 

与curl 调用url时带有&符号被截断相似的内容:

curl 调用url时带有&符号被截断

转载请注明出处: 用curl命令在服务器上调试接口时,一直调试不通,执行如下: 在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的url 与请求的url 长度不一致, 且 & 符号后面的参数都被截断了。 具体原因为:终端会将 &

使用HttpServletResponse实现curl接口时控制台输出(续)

上一篇文章的问题 在上一篇文章 Spring Boot RestController接口如何输出到终端 中讨论了如何使用 HttpSerlvetResponse 写入输出流,使应急接口通过 curl 调用时可以在控制台输出信息,使运维人员知道命令执行情况。 但是上一篇文章的问题是,HttpServl

Spring Boot RestController接口如何输出到终端

背景 公司项目的批处理微服务,一般是在晚上固定时段通过定时任务执行,但为了预防执行失败,我们定义了对应的应急接口,必要时可以通过运维在终端中进行curl操作。然而,部分任务耗时较长,curl命令执行后长时间没有输出,如果不查看日志,无法知道系统当前的状态,因此有必要研究一下如何在curl命令调用接口

influxdb 端点使用http进行sql查询,写数据

转载请注明出处: InfluxDB有以下几个常用的端点,它们的作用和传参方式如下: 1./ping 端点: 作用:用于检查InfluxDB实例的状态,返回InfluxDB的构建类型和版本信息。 传参:无需传参,仅发送GET请求即可。 调用示例: curl http://localhost:8086/

SRE 排障利器,接口请求超时试试 httpstat

夜莺资深用户群有人推荐的一个工具,看了一下真挺好的,也推荐给大家。 需求场景 A 服务调用 B 服务的 HTTP 接口,发现 B 服务返回超时,不确定是网络的问题还是 B 服务的问题,需要排查。 工具简介 就类似 curl,httpstat 也可以请求某个后端,而且可以把各个阶段的耗时都展示出来,包

[转帖]打造自己的K8s debug image

https://cloud.tencent.com/developer/article/1932186?areaSource=&traceId= 生产上,有时候为了便于调试,会需要用到一些dig curl等工具,这里提供一个很好用的 docker image 集成了如下工具: tcpdump hto

[转帖]【翻译】curl自动化http操作

https://cizixs.com/2014/05/14/curl-automate-http/ HTTP 脚本 背景 这篇文档假定读者熟悉HTML和简单的网络知识。 大量应用转到网络使得HTTP 脚本被大量使用,自动化地从网络获取信息、伪装成用户、上传数据到网络服务器也变得至关重要。 curl是

[转帖]Linux下curl用法详解

https://zhuanlan.zhihu.com/p/430490147 Curl(CommandLine Uniform Resource Locator),即在命令行中利用URL进行数据或者文件传输,它是Linux下强大的http命令行工具,其功能十分强大,我们来看下帮助页面,参数非常丰富。

[转帖]060-轻量级基于curl的seafile上传脚本

https://anjia0532.github.io/2021/04/07/seafile-client-curl/ 这是坚持技术写作计划(含翻译)的第 60 篇,定个小目标 999,每周最少 2 篇。 本文主要讲解利用 bash 脚本在 linux 通过命令行上传文件到 seafile 服务器

[转帖]Linux环境使用apt-get安装telnet、curl、ifconfig、vim、ping等工具

https://www.cnblogs.com/east7/p/15834866.html 当在Linux服务器执行Telnet命令时,如果提示command not found: telnet,说明服务器上并未安装Telnet命令,需要安装此命令。下面介绍在linux服务器如何安装telnet、c