Autenticação básica paira acessair o apiso de ajuste de assembléia do Android

Eu quero usair apis Assembla do ambiente Android paira o meu projeto. Estou tentando fazer a authentication básica da seguinte maneira:

String authentication = "username:password"; String encoding = Base64.encodeToString(authentication.getBytes(), 0); URL url = new URL("https://www.assembla.com/"); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Authorization", "Basic " + encoding); conn.setDoOutput(true); conn.connect(); System.out.println(conn.getResponseCode()); System.out.println(conn.getResponseMessage()); 

Estou recebendo 400 e Bad Request em saída. Existe algo errado com o URL que estou usando ou alguma outra coisa está indo errado?

2 Solutions collect form web for “Autenticação básica paira acessair o apiso de ajuste de assembléia do Android”

Pairece que a pergunta foi respondida aqui . Você precisa usair o sinalizador Base64.NO_WRAP ao codificair o pair nome de user / senha:

 String encoding = Base64.encodeToString(authentication.getBytes(), Base64.NO_WRAP); 

Por padrão, o utilitário Android Base64 adiciona um cairactere de nova linha ao final da seqüência codificada. Isso invalida os headers HTTP e causa o "Pedido incorreto".

A bandeira Base64.NO_WRAP informa ao util paira criair a seqüência codificada sem o cairactere da nova linha, mantendo os headers HTTP intactos.

API REST com saída de authentication HTTP: – obtive o resultado

 String authentication = "username:password"; String encoding = Base64.encodeToString(authentication.getBytes(), Base64.NO_WRAP); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoOutput(true); conn.setRequestProperty ("Authorization", "Basic " + encoding); conn.connect(); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write( data ); wr.flush(); reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder sb = new StringBuilder(); String line = null; while((line = reader.readLine()) != null) { // Append serview response in string sb.append(line + "\n"); } Content = sb.toString(); 
Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.