专栏首页坚毅的PHPpost multipart data boundary问题 使用curl 向jersey post文件

post multipart data boundary问题 使用curl 向jersey post文件

原以为curl 模拟post file跟post string类似,-d参数一加 ,header一加就完了,这次遇到个问题,却怎么都搞不定。

curl模拟post提交

与客户端定的协议是:

Header

Content-Type: multipart/form-data;

Body

Content-Disposition: form-data; name="file"; filename="xx.jpg" Content-Type: image/jpeg

 使用curl时,想模拟客户端,结果使用--form 参数传递body时报错:

IllegalArgumentException: Error parsing content disposition: form-data; name="----7db372eb000e2\r\n Content-Disposition:"form-data";name"

搜了一下post的数据格式,发现需要加boundary,于是加上boundary做post

使用-d参数传递body时报错 :

curl  -H "Content-type:multipart/form-data;boundary=--7db372eb000e2" -d '----7db372eb000e2\r\n Content-Disposition:"form-data";name="file";filename="@xx.jpg";----7db372eb000e2--\r\n' "http://192.168.50.0:8080/res/v2/upload/pic/photo"

 org.jvnet.mimepull.MIMEParsingException: Missing start boundary]

使用网上找的一段java.net.HttpURLConnection (http://blog.csdn.net/skyer_lei/article/details/6106709)代码  post form也报错

最终发现 使用-F参数 上传文件名即可, 不需要写Content-Disposition 之类信息

curl -S -H "Cookie:uss=AAFxAAgqIx3k9bmQMAAAAAADYnr561" -H "Content-type:multipart/form-data" -F file=@/home/work/mfs/storage/lv/public/photo/37/f8/b7510442817b16138d8883d1b392.jpg "http://192.168.50.0:8080/res/v2/upload/pic/photo"

应该是curl会自动给加上,没搞懂客户端模拟的请求为什么总是出错。

找到一个可用的HttpURLConnection test,需要研究下为什么上边那个有问题

http://lapulande.iteye.com/blog/719581

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • flask源码阅读笔记

    2011-10-24 flask是个微型web框架,基于werkzeug提供的基本wsgi和routing功能,扩展出比较完善的server view db访...

    财主刀刀
  • Hbase复杂操作的优化- Htable HtablePool

    Htable主要提供表内的操作,put,delete,get,scan等操作 HTablePool 可以建立池,存储HTableInterface接口的实现对象...

    财主刀刀
  • 进程、线程、轻量级进程、协程和go中的Goroutine 那些事儿

    电话面试被问到go的协程,曾经的军伟也问到过我协程。虽然用python时候在Eurasia和eventlet里了解过协程,但自己对协程的概念也就是轻量级线程,还...

    财主刀刀
  • python3+requests:pos

    前言:post请求我在python接口自动化2-发送post请求详解(二)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等,可以参考Get,P...

    py3study
  • BSidesSF 2019 CTF writeup

    在网上刷的题目,难度还好,一些题目很有借鉴意义,收录了一些web方面的writeup,用来学习。有更好的解题思路欢迎留言。

    用户5878089
  • echart3 click点击事件使用 原

    myChart.on('click', function (param) { // alert(json.stringify(param));//这里根据pa...

    tianyawhl
  • 利用bedtools预测chip_seq数据的靶基因

    通常在分析peak区域对应的靶基因时,会选取转录起始位点TSS上下游一定长度的区域作为候选的靶基因范围,本文介绍下如何利用bedtools来对peak与TSS区...

    生信修炼手册
  • Linux 命令(136)—— curl 命令

    curl 命令是一个利用 URL 规则在 Shell 终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为...

    Dabelv
  • Linux crond 不执行原因分析

    阳光岛主
  • 网页文件浏览器

    本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/fronted_file_explore/

    羽翰尘

扫码关注云+社区

领取腾讯云代金券