C++实现HTTP上传

本文详细介绍了C++如何实现HTTP文件上传,重点讲解了Content-Type为multipart/form-data的格式,包括boundary的作用和数据块的构成。内容包括HTTP上传的数据示例,以及关键的VC实现代码,强调了协议头、数据描述部分和协议尾的构造,以及与服务器建立连接的步骤和注意事项。
摘要由CSDN通过智能技术生成
 插件中需要一个上传文件的功能,我跟老大说,我想FTP上传,老大一瞪眼,那还得再布个FTP服务器,直接用HTTP上传多简单。
        那么C++如何将文件上传HTTP服务器上呢? 

HTTP上传

       HTTP上传文件的时候,需要设置Content-Type为multipart/form-data;它包括一个类似标志性质的名为boundary的标志,它可以是随便输入的字符串。如boundary=----fasjdflkj23r8uffsdl, 对后面的具体内容也是必须的。它用来分辨一段内容的开始,用于将后面的数据分成数据块数据可以文本,也可以是文件等。数据内容前面需要有Content-Disposition, Content-Type以及Content-Transfer-Encoding等说明字段。最后结束加入结束标记。

       下面是一个发送给服务器的数据内容示例:

POST /upload_file/UploadFile HTTP/1.1

Accept: text/plain, */*

Accept-Language: zh-cn

Host: 192.168.29.65:80

Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6

User-Agent: Mozilla/4.0 (compatible; OpenOffice.org)

Content-Length: 424

Connection: Keep-Alive

 

 -----------------------------7d33a816d302b6

Content-Disposition: form-data; name="userfile1"; filename="E:\s"

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值