我HttpListener
在 C# 中使用来获取 HTTP 请求。我需要使用 Java 发送请求。我尝试使用HttpURLConnection
and发送请求DataOutputStream
,但 C# 代码没有收到任何请求。
我认为问题出在 Java 上,因为我在 C# 中创建了一个小型测试应用程序,它使用该HttpWebRequest
对象发送请求,并且一切正常。
什么可能导致这个问题?
这是我的 C# 代码中的一个片段:
Listener = new HttpListener();
Listener.Start();
Listener.Prefixes.Add(string.Format("http://{0}:{1}/", "127.0.0.1", "14141"));
HttpListenerContext context = Listener.GetContext();
这是我的 Java 代码中的一个片段:
String message = "test message";
URL url = new URL("http://127.0.0.1:14141/");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", "" + Integer.toString(message.getBytes().length));
connection.setUseCaches (false);
DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(message);
writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(message);