来自java的HTTP POST作为GET到达服务器
我有一个带有CGI的服务器,它将请求\方法打印到系统日志中。 我有网页,可以获得和张贴到该CGI和两种方法打印我所期望的。 我有一个java程序可以访问它。 但当我尝试在Java中使用POST时:来自java的HTTP POST作为GET到达服务器,java,android,http,post,get,Java,Android,Http,Post,Get,我有一个带有CGI的服务器,它将请求\方法打印到系统日志中。 我有网页,可以获得和张贴到该CGI和两种方法打印我所期望的。 我有一个java程序可以访问它。 但当我尝试在Java中使用POST时: URL url = new URL("https://192.168.10.178/mycgi"); conn = (HttpsURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST
URL url = new URL("https://192.168.10.178/mycgi");
conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST"); // <- this bit!
InputStream is = conn.getInputStream();
URL=新URL(“https://192.168.10.178/mycgi");
conn=(HttpsURLConnection)url.openConnection();
连接设置输出(真);
conn.setRequestMethod(“POST”);// 确保您的服务器没有对最终目标做出302/301响应。这可能会迫使客户机将POST作为GET重新发送
有关原因的解释,请参阅
301/302可能只是因为URL中缺少一个尾随斜杠。在200代码之前检查服务器日志中的301/302代码。重复删除的注释回答:请求采用https://192.168.10.178/mycgi
并且绝对不包含?或者=字符我不确定后面的斜杠是什么意思-我试过https://192.168.10.178/mycgi/
,它没有任何效果。然而,关于302/301,您似乎是对的,并且https://192.168.10.178/path/cgi-bin/mycgi
正在工作。我想知道为什么web浏览器可以工作,但我的java代码不能,但这回答了我的问题!谢谢