C# HttpWebResponse如何获取response body的HEX格式的数据?
问题描述:
public static string Post(string url, string content)
{
string result = "";
#region 添加Post 参数
byte[] data = Encoding.UTF8.GetBytes(content);
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.KeepAlive = false;
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = data.Length;
Stream reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();
#endregion
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
req.Abort();
}
return result;
}
return "";
}
请问这个代码如何修改得到HEX数据?
答
Stream stream = resp.GetResponseStream();和后面修改为
using (Stream stream = resp.GetResponseStream())
{
using (MemoryStream ms = new MemoryStream())
{
Byte[] buffer = new Byte[1024];
int current = 0;
while ((current = stream.Read(buffer, 0, buffer.Length)) != 0)
{
ms.Write(buffer, 0, current);
}
return ms.ToArray();
}
}
返回值类型修改为byte[]