curl发送文件 post图片的两种方式
2017-12-22 20:19
337 查看
First Type:
curl -F "pic=@/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'" http://127.0.0.1:8080/picture[/code]
-F 指定data的参数,"pic=@/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'"
类似于html中<input type="file" name="pic" /> <input type="text" name="filename" />
-H指定上传数据的头信息
最后一个参数指定地址
多图上传:curl -F "pic=@/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'" -F "pic=@/mnt/shared/Image/jpg/2.jpg; filename='2.jpg'" http://127.0.0.1:8080/picture[/code]
带头信息上传:curl -F "pic=@/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'" -H "Content-filename:1.jpg" http://127.0.0.1:8080/picture[/code]
参考文章:
使用cURL POST上传文件
CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件
Second Type:
手写curl文件上传:
使用curl 上传文件,multipart/form-data
不使用-F,curl内置multipart/form-data功能;
文件内容与真实数据无关,用abc代替数据,依然可以上传成功,这里是文件的二进制内容;
name 为服务端获取文件的字段;
换行和—的数量需要一致;
-H指定头部信息,上传文件时在头部的Content-Type指定格式和分隔符;
boundary参数为内容分割,“-”的数量比后面数据里面少2;
–data 指定post的数据信息,图片内容在data内;
需要注意在data最后还有两个“–”。curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv" --data " ------------WebKitFormBoundarykwAk3YkABYxtSoqv Content-Disposition: form-data; name="file"; filename="selfi.jpg" Content-Type: image/png abc ------------WebKitFormBoundarykwAk3YkABYxtSoqv-- " http://127.0.0.1:8080/picture
下面给一个shell,不过没有成功,有能力的可以看看:total=$(cat /mnt/shared/Image/1.jpg) curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv" --data ' ------------WebKitFormBoundarykwAk3YkABYxtSoqv Content-Disposition: form-data; name="pic"; filename="1.jpg" Content-Type: image/jpeg '"$total"' ------------WebKitFormBoundarykwAk3YkABYxtSoqv-- ' http://127.0.0.1:8080/picture[/code]
参考文章:
使用curl 上传文件,multipart/form-data
相关文章推荐
- android 向serverGet和Post请求的两种方式,android向server发送文件,自己组装协议和借助第三方开源
- PHP使用curl请求实现post方式上传图片文件功能示例
- android 向服务器Get和Post请求的两种方式,android向服务器发送文件,自己组装协议和借助第三方开源
- php实现curl请求以post方式上传图片文件
- curl文件上传有两种方式,一种是post_fileds,一种是infile
- java中使用scoket模拟http post请求发送图片或文件
- iOS中使用POST向服务器发送图片文件
- HttpClient 和HttpConnection 两种方式POST文件
- 通过http/https的POST方式,发送和接受XML文件内容
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
- php获取远程图片的两种:CURL方式和sockets方式获取远程图片
- Linux命令发送Http的get或post请求(curl和wget两种方法)
- asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端
- Asp.Net HttpPostedFile和base64两种上传图片(文件)方式
- 原生ajax和iframe框架实现图片文件上传的两种方式
- android中post和get两种方式发送请求
- PHP发送POST请求的三种方式 分别使用curl file_get_content fsocket 来实现post提交数据
- php获取远程图片的两种 CURL方式和sockets方式获取远程图片
- java中使用scoket模拟http post请求发送图片或文件
- 使用Jmeter发送post请求的两种方式