Java-通过POST方法发送HTTP参数?
在GET请求中,参数作为URL的一部分发送。
在POST请求中,将参数作为请求的正文发送到标头之后。
要使用HttpURLConnection
进行POST,你需要在打开连接后将参数写入连接。
这段代码可以帮助你入门:
String urlParameters = "param1=a¶m2=b¶m3=c";
byte[] postData = urlParameters.getBytes( StandardCharsets.UTF_8 );
int postDataLength = postData.length;
String request = "http://example.com/index.php";
URL url = new URL( request );
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
conn.setDoOutput( true );
conn.setInstanceFollowRedirects( false );
conn.setRequestMethod( "POST" );
conn.setRequestProperty( "Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty( "charset", "utf-8");
conn.setRequestProperty( "Content-Length", Integer.toString( postDataLength ));
conn.setUseCaches( false );
try( DataOutputStream wr = new DataOutputStream( conn.getOutputStream())) {
wr.write( postData );
}
问题内容: 我成功使用此代码通过方法发送 带有某些参数的请求 现在,我可能需要通过POST方法发送参数(即param1,param2,param3),因为它们很长。我在想为该方法添加一个额外的参数(即String httpMethod)。 我如何才能尽可能少地更改上面的代码,以便能够通过GET或发送参数POST? 我希望改变 至 本来可以解决问题的,但是参数仍然通过GET方法发送。 有没有什么方法
它不是重复的。所提供的链接是旧的。“HTTP客户端”已在api23中删除 我想发送json对象: 到URL: http://10digimr.mobimedia.in/api/mobile_retailer/update_profile怎么做?通过post方法? 回应:
我现在已经在我的应用程序中设置了Firebase通知,当我发送消息时,消息会发送给我的应用程序的所有用户。(我目前通过Firebase控制台发送消息。我想用另一种不涉及Firebase控制台的方式发送推送通知,我相信HTTP Post是一种简单的方式。如何使用HTTP POST远程发送推送通知?
问题内容: 我正在使用Html5服务器发送事件。服务器端是Java Servlet。我有一个要传递给服务器的json数组数据。 如果数组大小较小,则服务器端可以获取查询字符串。但是,如果数组大小很大。(可能超过数千个字符),服务器无法获取查询字符串。是否可以使用POST方法将json数组传递到服务器,从而避免了查询字符串长度的限制? 问题答案: 不可以,SSE标准不允许POST。 (出于技术原因,
问题内容: 让我们假设这个网址… (此处的ID需要在POST请求中发送) 我想将其发送到服务器的,该服务器在POST方法中接受它。 如何在Java中执行此操作? 我尝试了这个: 但是我仍然不知道如何通过POST发送 问题答案: 由于原始答案中的某些类已在Apache HTTP Components的较新版本中弃用,因此,我将发布此更新。 顺便说一句,你可以在此处访问完整的文档以获取更多示例。
我使用Java11和Spring。我试图通过post将两个对象发送到控制器,但我得到了一个错误。 这里是控制器: 你知道为什么我会得到这个错误以及如何修复它吗?