我编写了一个小型C#程序,它监听未发送System.Net.HTTPListener的HTTP请求,并尝试将请求的主体写入文件。目前,我正在使用带有<form>
的简单HTML <input type='file'>
将多部分/表单数据发布到服务器。
执行此操作时,标题将如下所示:
POST /konvert HTTP/1.1
Host: 192.168.0.71:1337
Connection: keep-alive
Content-Length: 1003307
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://192.168.0.71:1337
User-Agent: Mozilla/5.0 (Linux; Android 4.4.4; XT1032 Build/KXB21.14-L1.40) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.59 Mobile Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywOuhqyXSsBOZnCKR
Referer: http://192.168.0.71:1337/konvert
Accept-Encoding: gzip, deflate
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
wireshark还提供以下信息:
------WebKitFormBoundarywOuhqyXSsBOZnCKR
Content-Disposition: form-data; name="myfile"; filename="IMG_20141202_222832263.jpg"
Content-Type: image/jpeg
...
------WebKitFormBoundarywOuhqyXSsBOZnCKR--
我的问题是我很难从HTTPListenerRequest
获取正确的内容类型或MIME类型,因为它的ContentType
属性只包含multipart/form-data; boundary=--[...]
非常感谢有关如何获得正确MIME类型的任何信息。