用curl命令,post提交带空格的数据

CURL发送POST请求 发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。-I 向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。-L 让 HTTP 请求跟随服务器的重定向。-O 将服务器回应保存成文件,并将 URL 的最后部分当作文件名。用来限制 HTTP 请求和回应的宽,模拟慢网速的环境。-i 打印出服务器回应的 HTTP 标头。-A 指定客户端的用户代理标头,即。-H 添加 HTTP 请求的标头。-x 指定 HTTP 请求的代理。-X 指定 HTTP 请求的方法。 阅读详情

今天偶然遇到一个情况,我想用curl登入一个网页,无意间发现要post的数据里带空格。比如用户名为"abcdef",密码为"abc def",其中有一个空格,按照我以前的方式提交:

curl -D cookie -d "username=abcdef&password=abc def" http://login.xxx.com/

提示登入失败。

于是查看curl手册man curl。找到:

d/--data 
         (HTTP) Sends the specified data in a POST request to the HTTP server, in a way that can emulate
         as if a user has filled in a HTML form and pressed the submit button. Note that the data is sent
         exactly as specified with no extra processing (with all newlines cut off). The data is expected to be
         "url-encoded". This will cause curl to pass the data to the server using the content-type applica-
         tion/x-www-form-urlencoded. Compare to -F/--form. If this option is used more than once on the
         same command line, the data pieces specified will be merged together with a separating &-letter.
         Thus, using ’-d name=daniel -d skill=lousy’ would generate a post chunk that looks like
         ’name=daniel&skill=lousy’.

于是改用:

curl -D cookie -d "username=abcdef" -d "password=abc efg" http://login.xxx.com/

这样就能成功登入了。


版权声明

本人的所有原创文章皆保留版权,请尊重原创作品。
转载必须包含本声明,保持本文完整,并以超链接形式注明原始作者“redraiment”和主站点上的本文原始地址。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com
我的Blogger(子清行
我的Google Sites(子清行
我的CSDN博客(梦婷轩
我的百度空间(梦婷轩

EL6751实战指南:从协议解析到工业现场部署 本文详细介绍了EL6751网关在工业通信协议转换中的应用,从CANopen协议解析到EtherCAT系统部署的实战指南。通过协议栈位置、数据封装方式和通信模型差异的深入分析,帮助工程师高效实现EtherCAT主站与CANopen从站设备间的无缝对接,提升工业现场通信效率。 阅读详情

相关推荐

ChatGPT辅助课题申报书研究背景部分的写作全过程指南

ChatGPT辅助课题申报书研究背景部分的写作全过程指南

智能AI让学术科研更容易 2529

Java 运行 cUrl Head 包含空格情况处理

Java 运行 cUrl写了个脚本,需要用curl 请求网络,但是遇到 参数包含空格的情况, 参数如果包含空格,会导致 命令行无法执行。代码如下$out类似上面的 比较复杂的cUrl 请求因为 HEAD 参数里面含有会导致 直接执行cmd(curl) 失败原因是: runtime.exec(command) 里面的实现会根据空格 默认拆分全部的参数,这样导致 -H 后面的参数也被拆分掉了。

GYBIN02的专栏 1894

对接爱快DHCP的OPTION十进制转换十六进制.xlsx

对接爱快DHCP的OPTION需要对option60 option138 进行转换。DHCP option60输入TP-LINK 爱快中转换填入的值是54:50:2D:4C:49:4E:4B option138 为AC的远程地址,需要提前做好AC的相应配置工作。 假设是110.52.52.52 爱快中转换后是6E:34:34:34

linux curl 特殊字符,遇到问题--curl--- url参数中有+、空格、=、%、&、#等特殊符号的导致传参不全 | 易学教程...

情况使用curl访问api如下: curl -X PUT -d 'token=readafwer&limit=100&products=["2e30","34381"]' 192.168.11.195:9999/report/generation/in-product会报错 ServiceExceptionHandler.java[line:30] exception ERROR ...

weixin_39609650的博客 7005

Linux curl多参数且值有空格

场景:在Linux环境多个参数访问,访问参数值有空格的情况; 原地址:curl http://localhost:8080/com.baidu.cn?requestId=23233&requestTime=2019-07-01 00:00:00&endTime=2019-07-02 00:00:00 结果:curl http://localhost:8080/com.baidu...

追梦者xuaner 5653

PHP中GET/POST方法参数传递空格+逗号等特殊字符处理办法

自己在项目开发中写了个自用接口,用GET方法传参(用户名和密码)。最近收到用户反馈:密码为特殊字符时会出错。我一开始想是不是php的mysql_real_escape_string函数将特殊字符转义了,但用户说自己密码只有“+”号这个特殊字符,而“+”号不属于该函数转义的范围之内。 为了弄明白这个问题我就在本地测试了一下,果然发现有bug。 测试代码: index.php ec

qq_25600055的专栏 1万+

使用 curl 命令发送 POST 请求的几种方式

HTTP 的 POST 请求通常是用于提交数据,可以通过这篇文章来了解各种提交方式:四种常见的 POST 提交数据方式。做 Web 后端开发时,不可避免地要自己给自己发请求来调试接口,这里要记录的内容是如何使用命令行工具 curl 来进行各种方式的 POST 请求。 1、application/x-www-form-urlencoded 最常见的一种 POST 请求,用 curl 发起这种请求也很简单。 curl localhost:3000/api/basic -X POST -d 'hello=worl

rui15111的博客 8万+

【Linux系列】利用 CURL 发送 POST 请求

POST 请求主要用于向服务器提交数据,这些数据通常包含在请求体中。与 GET 请求不同,POST 请求的数据不会显示在 URL 中,因此更适合传输敏感信息或大量数据POST 请求还可以携更多的数据,并且不受 URL 长度限制。

CSDN站内信: https://i.csdn.net/#/msg/chat/qyj19920704 1万+

shell curl 数据中含有空格 如何提交

shell脚本中数据中含有空格,赋给变量后去引用,提交失败 #!/bin/bash sparkjsonstring='{"name":"store-rtpp","sources":[{"name":"xyb","type":"static","as.table":"xyb","text":"{\"DPC\": \"A.0012.0001.P001\", \"SOD\": \"A.0012.00

Jason的博客 6860

Linux curl命令get/post提交数据、json和上传文件全攻略

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34396103的博客 5290

Curl系列】 使用 Curl 发送 POST 请求的详细指南

在 HTTP 协议中,POST 请求是一种常用的方法,用于向服务器提交数据。与 GET 请求不同,POST 请求可以将数据包含在请求体(body)中,这使得它适合传输大量数据,如表单数据、文件上传等。

CSDN站内信: https://i.csdn.net/#/msg/chat/qyj19920704 2万+

curl 命令提交post表单

POST (HTTP)It’s easy to post data using curl. This is done using the -d option. The post data must be urlencoded.Post a simple “name” and “phone” guestbook. curl -d "name=Rafael%20Sagula&phone=

少言才不会咸's Tech-blog 1万+

php利用curl提交数据POST提交

思路就是:先把要提交数据组织起来,然后在调用post的方法 先贴上post的方法: function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = ...

zhangzeshan 1万+

curl post请求表单_Linux curl命令get/post提交数据、json和上传文件全攻略

Http协议支持:GET、HEAD、PUT、DELETE、POST、OPTIONS等6种请求方法;在这里我们通过linux curl命令,介绍其中的两种请求方法:GET、POST;使用linux curl命令通过GET、POST命令提交数据、使用POST上传文件,同时使用PHP语言介绍它们提交数据和上传的文件的接受方法。一、测试前准备:为了测试方便,我们在本站的站点根目录下,写了一个临时接受数据...

weixin_35761503的博客 1469

CURL 发送POST请求

CURL 发送POST请求 curl -H "Content-Type: application/json" -X POST -d '{"user_id": "123", "coin":100, "success":1, "msg":"OK!" }' "http://192.168.0.1:8001/test" 参数 内容 -H 请求头 -d POST内容 -X 请求协议 简介 curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非

baidu_35692846的博客 8万+

Curl命令POST请求

curl工具介绍: CURL是一个利用URL语法在命令行下工作的文件传输工具,被广泛应用在Unix、Linux发行版中,并且有DOS和Win32、Win64的移植版本。同时它还支持诸多的通信协议(我们常用的有HTTP、HTTPS、FTP、SMTP、TELNET等)。 我们可以使用它进行HTTP POST、HTTP PUT、FTP上传、cookies、用户认证、IP代...

疯狂的蜗牛 1万+

linux curl post文件,Linux curl命令get/post提交数据、json和上传文件全攻略

Http协议支持:GET、HEAD、PUT、DELETE、POST、OPTIONS等6种请求方法;在这里我们通过linux curl命令,介绍其中的两种请求方法:GET、POST;使用linux curl命令通过GET、POST命令提交数据、使用POST上传文件,同时使用PHP语言介绍它们提交数据和上传的文件的接受方法。一、测试前准备:  为了测试方便,我们在本站的站点根目录下,写了一个临时接受...

weixin_35720618的博客 1255

PHP中CURL使用POST提交XML数据

最近要写一个接口,对方只接受XML数据,毕竟是别人提供的接口,所以规则还是要按照别人的来写。 之前也写过《模拟post登陆提交表单问题详解》 里面也有一种使用CURL模拟POST的方法,可以看看。 代码如下: $url = "http://www.pooy.net/login"; $ch = curl_init(); $header[] = "Content-type: tex

Le3600(果子)的专栏 2188
上一篇: linux 桌面背景随心换
下一篇: [公告]校内网好友买卖在线挂机站点关闭
redraiment
博客等级 码龄20年 1145粉丝 108原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值