【发布时间】:2014-10-09 13:10:23
【问题描述】:
我在 java 中运行一个简单的 web 服务器,它在我的机器上的端口 8080 上运行,服务器确实接收来自浏览器的请求(当我写这个 URL (localhost:8080) 时)但是我想接收请求来自这个html页面
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="192.168.1.1:8080">
<input type="text" name ="txt">
<input type="submit" name="sub">
</form>
</body>
</html>
结果是网页无法显示
我的第二次尝试是这样的
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="server.java">
<input type="text" name ="txt">
<input type="submit" name="sub">
</form>
</body>
</html>
点击提交按钮后,它打开了下载对话框(下载 server.java)。
但是我设法在 java 中自己发起了一个请求
Socket socket = new Socket("localhost",8080);
String request = "get / http/1.1";
OutputStream os = socket.getOutputStream();
os.write(request.getBytes());
os.flush();
os.close();
并且我的服务器收到了没有问题的请求,我不确定我在这里缺少什么以及向 php 网站发起正确请求的那个层是什么。
【问题讨论】:
-
编写 Web 服务器并非易事,尤其是在您对 HTTP 没有充分了解的情况下。如果您不给我们一行代码,我们将如何调试您的服务器代码??
-
你真的不需要看我的网络服务器代码,因为我的问题是我提到的从 html 发起请求。
-
至少第二个示例应该给您一个提示,即 POST 请求发生了一些事情。再说一次,你可能是地球上唯一知道那里发生了什么的人。
标签: java html http httprequest