用于设置表单字段名称(multipart / form-data)的HTTP标头
时间:2020-03-06 14:25:49 来源:igfitidea点击:
我正在将原始HTTP请求传递到apache服务器(由PHP接收)。该请求的类型为multipart / form-data,即提交HTML表单时使用的MIME类型相同。
但是,我不确定用于设置表单字段名称的HTTP标头(我只是假设它是定义此标头的标头,不知道它还有什么用),然后可以在PHP中使用该标头来访问$ _GET或者$ _FILES中的字段。
HTTP请求可能看起来像这样:
Content-type: multipart/form-data;boundary=main_boundary --main_boundary Content-type: text/xml <?xml version='1.0'?> <content> Some content goes here </content> --main_boundary Content-type: multipart/mixed;boundary=sub_boundary --sub_boundary Content-type: application/octet-stream File A contents --sub_boundary Content-type: application/octet-stream File B contents --sub_boundary --main_boundary--
解决方案
Content-Disposition标头具有包含控件名称的名称参数。每个--sub_boundary之后应该有一个
--sub_boundary Content-Disposition: form-data; name="mycontrol"
我差点忘了:如果该字段是文件控件,那么还会有一个文件名字段和一个Content-Type标头
--sub_boundary Content-Disposition: form-data; name="mycontrol"; filename="file1.xml" Content-Type: application/xml;
如果文件不是文本,则还需要
Content-Transfer-Encoding: binary