AK_*_*AK_ 4 .net c# networking http httpwebrequest
使用.Net,我想通过HttpWebRequest传递一些二进制数据(一些序列化对象).
我可以将它放在请求流上,还是需要将其编码为base64字符串?
我的意思是如果我有:
byte[] data = new byte[1000];
GetSomeStrangeData(data);
Run Code Online (Sandbox Code Playgroud)
我是否需要使用Convert.ToBase64String或者我可以将它从HttpWebRequest.GetRequestStream写入流中吗?
后人:
http://tools.ietf.org/html/rfc2616
如果您通过数据将数据写入流HttpWebRequest.GetRequestStream,您将发送纯二进制数据而不对base64进行任何转换.您必须将接收端的数据解析为二进制流.
作为旁注,在通过网络发送数据时,我也总是避开base64,因为它会增加传输数据的带宽.对于每3个字节,您转换为base64将会出现4.因此,您的所有数据都有33%的开销.
编辑:在这里进一步深入了解Hellfrost.将HttpWebRequest.GetRequestStream让你流,后者又可以让你通过该连接发送二进制数据低级别的访问.如果您尝试将数据发送到Web服务器,我建议您查看后期数据和multipart/form-data.你可以在这里阅读更多相关信息:使用HTTPWebrequest上传文件(multipart/form-data)
| 归档时间: |
|
| 查看次数: |
10576 次 |
| 最近记录: |