HttpPost não esta enviando os parametros

27 views
Skip to first unread message

Vinny Valente

unread,
Sep 10, 2014, 10:40:49 AM9/10/14
to androidb...@googlegroups.com
Galera,


Estou tentando enviar parametros via POST com UrlEncodedFormEntity, mas no meu WS não recebe nada.
Fiz teste no Debug e os parametros aparecem certinho no ArrayList<NameValuePair> paramentrosPost , mas quando pego no PHP não tem nada.

Seguem os codigos:

 HttpClient client = new DefaultHttpClient();
 
 client.getParams().setParameter(CoreProtocolPNames.USER_AGENT,"android");
 
// Cria um objeto POST e recebe a URL como parametro
 HttpPost request = new HttpPost(); 
 
 request.setHeader("Accept", "application/json");
 request.setHeader("Content-type", "application/json");
 
 request.setURI(new URI(url[0])); 
 
//Objeto para formatar os paramentros
         UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(paramentrosPost,  "UTF-8");
         request.setEntity(formEntity);
 HttpResponse response = client.execute(request);


PHP

//Recebe por post os dados a serem inseridos
$produto = $_POST["produto"];
$preco = $_POST["preco"];
$local =  $_POST["local"];

Quando eu testo via pagina da net funciona normal, mas pelo android não...

Alguem sabe o q pode ser?


Vinny Valente

unread,
Sep 10, 2014, 4:21:53 PM9/10/14
to androidb...@googlegroups.com
Pra quem precisar

Utilizei o Plugin do Chrome chamado POSTman e na aba de Headers verifiquei que meu php não estava setado como Json.
Setei e continuou com erro, ai resolvi tirar os setHeaders do JAva e UALA funcionou.

Retirei somente  request.setHeader("Content-type", "application/json");
E no WS PHP coloquei header('Content-Type: application/json');

Geovani **Leia a documentação oficial** de Souza

unread,
Sep 10, 2014, 4:41:24 PM9/10/14
to androidb...@googlegroups.com
Vc remove de um lugar e coloca em outro? O_o

Geovani **Leia a documentação oficial** de Souza

unread,
Sep 10, 2014, 4:46:12 PM9/10/14
to androidb...@googlegroups.com
E uma dica: Retrofit tem suporte a FormURLEncoded out-of-box...

interface Api {

 
@FormUrlEncoded
 
@POST("/api.php")
 
Response post(@Field("produto") String produto, @Field("preco") float preco, @Field("local") String local);
}

// Later...
RestAdapter adapter = new RestAdapter.Builder().build();
Api api = adapter.create(Api.class);
api
.post("meu produto", 10.f, "local");


Vinicius Valente

unread,
Sep 10, 2014, 4:46:22 PM9/10/14
to androidb...@googlegroups.com

Sim, removi um dos headers do java e coloquei um header no php, ai a comunicação entre eles funcionou...

Em 10/09/2014 17:41, "Geovani **Leia a documentação oficial** de Souza" <geovani...@gmail.com> escreveu:
Vc remove de um lugar e coloca em outro? O_o

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/AZGZkKIsEaY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages