2011-08-03 11 views
34

java kodundan uygulamaya giriş yapmak istiyorum. geri döner sadece giriş sayfası, İşte ...Nasıl Https gönderilsin Gönder in java

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

String query = "email="+URLEncoder.encode("[email protected]","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()); 

benim kodudur ama giriş yapamıyorum.

Herhangi biri yapabilirse, neyi yanlış yaptığımı anlamak için bana yardımcı olun.

+0

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

Doğru (Nispeten geniş www-formun ortalarında yoktur) ben size giriş sayfasındaki bir form olduğunu varsayalım. Verileri formdaki sayfaya gönderirseniz, hiçbir şey olmaz. Verileri form verisini yayınladığınız sayfaya göndermeniz gerekir. – 11684

+0

Uyarma: İçerik uzunluğu, boyutu bayt cinsinden içermelidir. "Sorgu" içeriğine bağlı olarak, query.length() ve query.getBytes(). Uzunluğu aynı olabilir veya olmayabilir. Daha sonra kullanılmalıdır. –

cevap

28

Yanlış: -

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

her ikisi de aynı görünüyor fark nedir? – sunleo

+0

Tamam alan var mı? – sunleo

+1

@sunleo Bir HTTPS isteği için bir POST verileri olarak bir JSON verisi göndermem gerekiyor. JSON'u bir dizgeye dönüştürerek ve bunu outputStream'e yazarak denedim, ancak istek 400 Durum Hatası veriyor. Hatanın ne olduğunu bilen var mı? – Muthu