Java HTTP POST方法如何传输数据?
我知道什么是HTTP头和HTTP数据格式,我还知道如何从Java制作HTTP post 像 我可以使用像这样的代码将流写入web服务器,也可以读取流 这是我的问题Java HTTP POST方法如何传输数据?,java,http,stream,Java,Http,Stream,我知道什么是HTTP头和HTTP数据格式,我还知道如何从Java制作HTTP post 像 我可以使用像这样的代码将流写入web服务器,也可以读取流 这是我的问题 HTTP POST方法真正做的是什么,我的意思是客户端如何与web服务器通信 如果web服务器只读取HTTP POST头而不从客户端读取流,会发生什么情况? 小溪会在什么地方卡住吗 谢谢。>HTTP POST方法的真正用途是什么,我的意思是客户端如何与web服务器通信?您写入out的所有内容都将包含在消息正文中。>如果web服务器只读
HTTP POST方法真正做的是什么,我的意思是客户端如何与web服务器通信 如果web服务器只读取HTTP POST头而不从客户端读取流,会发生什么情况? 小溪会在什么地方卡住吗
谢谢。>HTTP POST方法的真正用途是什么,我的意思是客户端如何与web服务器通信?您写入
out
的所有内容都将包含在消息正文中。>如果web服务器只读取HTTP POST头而不从客户端读取流,会发生什么情况?小溪会在什么地方卡住吗?否,消息将由out
创建,之后流应可关闭。@Smutje感谢您的回复,客户端是否在开始时发送所有内容?你的意思是,当我收到HTTP POST报头时,我同时收到了POST数据?或者客户端将首先发送标题,然后发送大正文。我猜所有内容都会立即发送,因为您可以通过命令行通过curl
发送POST数据。正文内容使用HTTP标题发送。格式是标题,然后在消息正文后是一个空行。
StringBuffer result = new StringBuffer();
PrintWriter out = null;
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try {
URL realUrl = new URL("http://somesite/somepage.htm");
URLConnection conn = realUrl.openConnection();
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
conn.setDoOutput(true);
conn.setDoInput(true);
out = new PrintWriter(conn.getOutputStream());
out.print(param);
out.flush();
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
}