NAO CONECTA EM SERVICO REST
ola pessoal estou enfretando um erro estranho tenho uma aplicação simples em rest o servico esta funcionando normal no programa POSTMAN, porem quando mando conectar via depuração no meu celular esta dando o erro Bad Request , segue como estou fazendo a coneção
using (var client = new HttpClient())
{
using (var tokenResponse = await client.PostAsync([Ô]http://euroribeirao.ddns.net:1200/Api_escola/api/token[Ô], CreateContent()))
{
HttpStatusCode Status = tokenResponse.StatusCode;
if (Status.ToString() != [Ô]404[Ô])
{
var tokenBody = await tokenResponse.Content.ReadAsStringAsync();
parsedTokenBody = JsonConvert.DeserializeObject(tokenBody);
}
}
private static FormUrlEncodedContent CreateContent()
{
return new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]),
new KeyValuePair<string, string>([Ô]username[Ô], Usuario),
new KeyValuePair<string, string>([Ô]password[Ô], senha)
});
}
using (var client = new HttpClient())
{
using (var tokenResponse = await client.PostAsync([Ô]http://euroribeirao.ddns.net:1200/Api_escola/api/token[Ô], CreateContent()))
{
HttpStatusCode Status = tokenResponse.StatusCode;
if (Status.ToString() != [Ô]404[Ô])
{
var tokenBody = await tokenResponse.Content.ReadAsStringAsync();
parsedTokenBody = JsonConvert.DeserializeObject(tokenBody);
}
}
private static FormUrlEncodedContent CreateContent()
{
return new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]),
new KeyValuePair<string, string>([Ô]username[Ô], Usuario),
new KeyValuePair<string, string>([Ô]password[Ô], senha)
});
}
Esquisito, eu testei aqui e recebo:
{[Ô]error[Ô]:[Ô]Usuario[Ô],[Ô]error_description[Ô]:[Ô]usuario ou senha Invalidos[Ô]}
Você está usando Xamarim?
Sim estou usando ele
Bad Request, significa que o pacote não foi entendido no server. Isso pode ser algum problema de thread especÃfico do Android, que não está formando o pacote corretamente. Tente:
- Rodar não em debug, mas em release
- Utilizar métodos sÃncronos e não assÃncronos
- Logar as requests no servidor, para ver o que está chegando
- Rodar não em debug, mas em release
- Utilizar métodos sÃncronos e não assÃncronos
- Logar as requests no servidor, para ver o que está chegando
kerplunk o metodo que estou logando no android esta certo ne ? , eu testei todo o processo , e vi que na no content ele nao esta levando nada eu mudei e fiz assim
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]));
postData.Add(new KeyValuePair<string, string>([Ô]username[Ô], Usuario));
postData.Add(new KeyValuePair<string, string>([Ô]password[Ô], senha));
var httpContent = new StringContent(postData.ToString(), Encoding.UTF8, [Ô]application/json[Ô]);
mesmo assim deu o mesmo erro
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>([Ô]grant_type[Ô], [Ô]password[Ô]));
postData.Add(new KeyValuePair<string, string>([Ô]username[Ô], Usuario));
postData.Add(new KeyValuePair<string, string>([Ô]password[Ô], senha));
var httpContent = new StringContent(postData.ToString(), Encoding.UTF8, [Ô]application/json[Ô]);
mesmo assim deu o mesmo erro
Não importa se é android ou qualquer outra coisa, o framework é o mesmo, então o método é o mesmo. E sim, me parece certo.
sim eu mesmo consumi numa aplicação minha e ele me mostra certinho fiz um get numa tabela e ele me retornou tudo so o metodo de autenticação mesmo
o que posso ta fazendo de errado?
o que posso ta fazendo de errado?
eu acabei de criar uma aplicação windows forms e consumi normal nela
ate deu acesso ao token
o que poderia estar fazendo de errado?
ate deu acesso ao token
o que poderia estar fazendo de errado?
Testei o código que postou tanto no Android com o Xamarin quanto no Windows e o resultado foi exatamente o mesmo do KERPLUNK nos dois casos
Detalhe que em ambos os casos a resposta é HTTP 400, Bad Request, e no corpo da resposta vem o JSON igual o que o KERPLUNK postou, tem certeza que o nome de usuário e senha está correto no Android?
Detalhe que em ambos os casos a resposta é HTTP 400, Bad Request, e no corpo da resposta vem o JSON igual o que o KERPLUNK postou, tem certeza que o nome de usuário e senha está correto no Android?
Tente também usando uma WebRequest, só pra ter certeza que o problema não é relacionado à rede.
Tópico encerrado , respostas não são mais permitidas