Encoding 如何从ServerXMLHTTP读取二进制响应?

Encoding 如何从ServerXMLHTTP读取二进制响应?,encoding,binary,response,serverxmlhttp,Encoding,Binary,Response,Serverxmlhttp,我使用ServerXMLHTTP和HTTPRequester插件发送请求,我可以看到请求的响应是请求文件的原始二进制数据。 我需要读取并将此二进制数据保存在字节[]中,但我不断收到错误: 在当前编码的无效状态下到达文件结尾 这是我的密码: ServerXMLHTTP HTTPRequest=new ServerXMLHTTP(); HTTPRequest.open("POST",@"https://thetargetwebsite/",false); HTTPRequest.setRequ

我使用ServerXMLHTTP和HTTPRequester插件发送请求,我可以看到请求的响应是请求文件的原始二进制数据。 我需要读取并将此二进制数据保存在字节[]中,但我不断收到错误: 在当前编码的无效状态下到达文件结尾

这是我的密码:

 ServerXMLHTTP HTTPRequest=new ServerXMLHTTP();
 HTTPRequest.open("POST",@"https://thetargetwebsite/",false);
 HTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 HTTPRequest.send("file_id=" + file_id);
string binaryfile=HTTPRequest.responseText; // causes the error
//OR
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] bytes = encoding.GetBytes(HTTPRequest.responseText); // also causes the error
你能帮我用二进制数据阅读回复文本吗

编辑:
如果我不使用ServerXMLHTTP,我应该用什么来代替呢?

我用这个来代替,效果很好:

         byte[] result;
         byte[] buffer = new byte[4096];

         System.Net.WebRequest wr = System.Net.WebRequest.Create(url);

         using (System.Net.WebResponse response = wr.GetResponse())
         {
             using (Stream responseStream = response.GetResponseStream())
             {
                 using (MemoryStream memoryStream = new MemoryStream())
                 {
                     int count = 0;
                     do
                     {
                         count = responseStream.Read(buffer, 0, buffer.Length);
                         memoryStream.Write(buffer, 0, count);

                     } while (count != 0);

                     result = memoryStream.ToArray();

                 }
             }
         }