当前位置: 首页 > 面试题库 >

如何在Java中发送Https Post请求

游炳
2023-03-14
问题内容

我想从Java代码登录到应用程序。这是我的代码…

String httpsURL = "https://www.abcd.com/auth/login/";

String query = "email="+URLEncoder.encode("abc@xyz.com","UTF-8"); 
query += "&";
query += "password="+URLEncoder.encode("abcd","UTF-8") ;

URL myurl = new URL(httpsURL);
HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
con.setRequestMethod("POST");

con.setRequestProperty("Content-length", String.valueOf(query.length())); 
con.setRequestProperty("Content-Type","application/x-www- form-urlencoded"); 
con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0;Windows98;DigExt)"); 
con.setDoOutput(true); 
con.setDoInput(true);

DataOutputStream output = new DataOutputStream(con.getOutputStream());


output.writeBytes(query);

output.close();

DataInputStream input = new DataInputStream( con.getInputStream() );



for( int c = input.read(); c != -1; c = input.read() ) 
System.out.print( (char)c ); 
input.close();

System.out.println("Resp Code:"+con .getResponseCode()); 
System.out.println("Resp Message:"+ con .getResponseMessage());

但我无法登录,它只返回登录页面。

如果有人可以,请帮助我了解我在做什么错。


问题答案:

错误 :-( www-form 中间有多余的空格)

con.setRequestProperty("Content-Type","application/x-www- form-urlencoded");

正确

 con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");


 类似资料:
  • 问题内容: 在Java中,如何编写HTTP请求消息并将其发送到HTTP WebServer? 问题答案: 你可以使用。 示例(从此处开始),进行了改进。包括在链接腐烂的情况下:

  • 我正在制作一个文本游戏,需要将一个对象(地点)上传到Java web服务器。(玩家需要共享数据,但这里不关心安全性)我正在使用java。网http API。我目前的方法是 但这会抛出。我真的不知道该怎么解决这个问题,所有的教程和StackOverflow问题要么使用大量的第三方API,要么使用过时的代码(java 9之前的版本),要么想要发送字符串或int之类的东西。这些都是无益的。我不太确定这段

  • 问题内容: 我正在尝试发出POST请求,但无法完成。另一端什么也没收到。 这是应该如何工作的吗?我知道该功能,但我想我不能使用它,因为它不能用测试,对吗? 问题答案: 您基本上有正确的想法,只是发送错误的表格。该表格属于请求的正文。

  • SOAP请求有一个服务endpoint和一个xsd文件。但是,没有wsdl文件。我如何从这里手动生成soap请求(作为字符串的xml请求)并将其发送到服务endpoint? 我在SO上找到了类似的答案。但这是针对C#和. NET的,任何针对Java的想法都会受到高度赞赏。

  • 问题内容: 我有Restful Web服务,我发送POST和GET HTTP请求,以及如何使用JAVA在httpURLConection中发送PUT和DELTE请求HTTP。 问题答案: 放 删除

  • 问题内容: 我的要求如下: 我想提供演员姓名,开始日期,结束日期,并获取他在那段时间里演过的所有电影。 因此,我的服务要求就是这样。 现在,我想改善它。我想提供一个开始日期,结束日期和一个以上的演员名称,并希望查看该时期内所有这些演员的电影。 我不确定我的网址应该如何支持这种情况。 我正在使用spring编写基于Java的Web服务。 下面的代码是为了支持一个演员 我正在考虑的一种解决方案是使用%