IOS 模拟表单 post发送二进制文件
来源:互联网 发布:windows教育版激活工具 编辑:程序博客网 时间:2024/06/06 06:49
首先说说一下http请求
http请求最长用的方法是 get 和 post 方法
get方法和post方法相比理解起来比较简单,get方法可以直接请求一个url,也可以url后面拼接上参数作为一个新的url地址进行请求。get方法后面的value要经过unicode编码。form的enctype属性默认为application/x-www-form-urlencoded。不能发送二进制文件。
post方法相对要复杂一些。首先post方法要设置key和value ,所有的key和value都会拼接成 key1=value1&key2=value2的样式的字符串,然后这个字符串转化为二进制放到 http请求的body中。当请求发送的时候,也就跟随body一起传给服务器。http请求Content-Type设置为:application/x-www-form-urlencoded。这里讲的只是简单的post请求,一般发送文件不会选择这种方式(从技术方面考虑也可以发送文件,就是把文件以 key 和 value的方式放入)。下面我们再讨论一下post发送二进制文件更加普遍的方法。
post发送文件首先网页中的form的enctype设置为multipart/form-data,然后浏览器会把表单中需要提交的项目分隔,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
enctype="multipart/form-data"
method="post">
<input type="text" name="submit-name" value="chmod777"><br />
What files are you sending? <input type="file" name="files"><br />
</form>
则有如下body:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
chmod777
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
//原问地址: http://blog.csdn.net/diyagoanyhacker/article/details/6685398 转贴请保留
http请求最长用的方法是 get 和 post 方法
get方法和post方法相比理解起来比较简单,get方法可以直接请求一个url,也可以url后面拼接上参数作为一个新的url地址进行请求。get方法后面的value要经过unicode编码。form的enctype属性默认为application/x-www-form-urlencoded。不能发送二进制文件。
post方法相对要复杂一些。首先post方法要设置key和value ,所有的key和value都会拼接成 key1=value1&key2=value2的样式的字符串,然后这个字符串转化为二进制放到 http请求的body中。当请求发送的时候,也就跟随body一起传给服务器。http请求Content-Type设置为:application/x-www-form-urlencoded。这里讲的只是简单的post请求,一般发送文件不会选择这种方式(从技术方面考虑也可以发送文件,就是把文件以 key 和 value的方式放入)。下面我们再讨论一下post发送二进制文件更加普遍的方法。
post发送文件首先网页中的form的enctype设置为multipart/form-data,然后浏览器会把表单中需要提交的项目分隔,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
如果有以下form,并选择了file1.txt上传
enctype="multipart/form-data"
method="post">
<input type="text" name="submit-name" value="chmod777"><br />
What files are you sending? <input type="file" name="files"><br />
</form>
则有如下body:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
chmod777
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
//原问地址: http://blog.csdn.net/diyagoanyhacker/article/details/6685398 转贴请保留
0 0
- IOS 模拟表单 post发送二进制文件
- 模拟发送POST请求,提交表单
- C++实现模拟登录---发送post表单信息包
- 模拟表单发送POST,GET请求获取数据
- Scrapy模拟表单和Ajax发送POST请求
- C# 模拟post表单
- php模拟POST表单
- 模拟post表单提交
- curl 模拟表单发送
- Golang发送post表单请求
- java 后台模拟post表单请求发送key-value数据乱码
- winform模拟post提交表单
- 模拟浏览器的POST表单
- C#模拟POST提交表单
- C#模拟POST提交表单
- HttpWebRequest发送模拟POST请求
- socket 模拟POST发送数据
- php 模拟发送post请求
- 图片文件转换为base64编码
- expect实现多台服务器自动巡检
- Linux学习之shell变量的运算
- 3D的虚拟引擎一览
- 爱的是丰富的试了试
- IOS 模拟表单 post发送二进制文件
- 如何扫描出android手机中所有的视频文件
- Mahout使用入门
- java开源框架SpringSide 3.1.4.3开发Web的demo项目实战
- 修改android 默认设置
- 文件选择器(JFileChooser)
- C++的异常处理
- PKI技术原理(收集 整理 归纳)
- Yii中获取当前controller和action的id