【发布时间】:2014-06-15 19:53:45
【问题描述】:
我正在尝试将 java servlet 发送的字节读取到 C# 应用程序中,到目前为止,除了使用 C# 中的普通流从 servlet 中得到的信息外,我什么也得不到。我尝试了各种形式的解码,但还没有找到从 http 源将 sbytes 读入 c# 应用程序的有效方法。
servlet 字节与
一起发送编辑的代码
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
ServletOutputStream resp = response.getOutputStream();
try{
resp.write("test".getBytes("UTF-8"));
}
catch(Exception e){
//Do Nothing
}
C# 读入
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://path.to/servlet");
req.Method = "POST";
req.ContentType = "text/html";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
string text;
using (var reader = new StreamReader(resp.GetResponseStream()))
{
text = reader.ReadToEnd();
Console.WriteLine(text);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
我最终得到两个问号或相同的两个 ascii 符号。
有人知道如何将这些 Java 字节流式传输到 C# 应用程序中吗?
【问题讨论】:
-
似乎您的问题与编码未签名字节更相关。你试过
Encoding.UTF8吗? -
"test".getBytes()将给出相同的结果。只是说。 -
@L.B 谢谢,我试过 UTF8,除了我得到黑色菱形问号而不是两个 ascii 字符之外没有任何变化。