Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 22/04/13, 15:45:19
Array

[xs_avatar]
ramon00 ramon00 no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 9
Modelo de smartphone: neo V
Tu operador: Movistar
Post en php con android

Buenas necesito resolver otra duda a ver si alguien la sabe.
Tengo un script en php que entre otras cosas devuelve los datos que le envio , de la siguiente forma, si entro con un navegador en la direccion:
"http://www.pagina.com/script.php?img=imagen.jpg&res=M";
me muestra por pantalla el texto: "imagen.jpg M".
Ahora necesito hacer lo mismo con android, hacer una petición con los parametros img y res y leer la respuesta que devuelva el php, el código que tengo escrito para hacer esto es este:

public void enviarDatos(View v) {

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.pagina.com/carpeta1/carpeta2/script.php");

try {

List <NameValuePair> nameValuePairs = new ArrayList <NameValuePair> (2);
nameValuePairs.add(new BasicNameValuePair("img", "imagen"));
nameValuePairs.add(new BasicNameValuePair("res", "M"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);

InputStream is = response.getEntity().getContent();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(20);

int current = 0;

while((current = bis.read()) != -1){
baf.append((byte)current);
}

/* Convert the Bytes read to a String. *
text = new String(baf.toByteArray());
result.setText(text);


} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

pero me devuelve esto:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don't have permission to access /carpeta1/carpeta2/script.phpon this server.</p><hr><address>Apache/2.2.22 (Ubuntu) Server at www.pagina.com Port 80</address></body></html>

Parece un problema de permisos , pero por otra parte si puedo hacer lo que quiero con el navegador(firefox). Gracias por leerlo.
Responder Con Cita


  #2  
Viejo 22/04/13, 16:26:17
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Me paso algo parecido cuando me inicie en el servicio web. Me daba errores de permiso o algo similar.

Investigando me di cuenta que el script php de la conexion al servicio web estaba mal (donde indicas el USER, PASSWORD, SERVER). El server lo tube que poner de otra manera en vez de la direccion normal.

PD: Uso un dominio de 1&1 y ahi te explicaban como hacerlo para mi caso.
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #3  
Viejo 22/04/13, 17:00:23
Array

[xs_avatar]
ramon00 ramon00 no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 9
Modelo de smartphone: neo V
Tu operador: Movistar
Buenas rinxe , gracias por contestar. No se si te entiendo bien.
el script.php basicamente tiene esto
<?php
$img=$_GET[img];
$res=$_GET[res];
...
?>
No utilizo user ni password desde la app android para hacer el post, ni tampoco desde el firefox, por ejemplo, simplemente escribo la direccion: "http://www.pagina.com/carpeta1/carpeta2/script.php?img=imagen&res=M"
y Enter.
¿Te refieres a que seguramente sea cambiar algo de aqui??
"httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); "

Gracias de nuevo y Saludos.
Responder Con Cita
  #4  
Viejo 22/04/13, 20:50:53
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
La verdad es que no entiendo mucho de estos temas, te comentaba eso por si te podia servir de ayuda pero ya veo que vas por otro lado.

He estado mirando algun ejemplo y creo que quieres hacer esto: http://codigoprogramacion.com/cursos...l#.UXWFXEBdUuo
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #5  
Viejo 26/04/13, 01:55:00
Array

[xs_avatar]
ramon00 ramon00 no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 9
Modelo de smartphone: neo V
Tu operador: Movistar
Buenas me he dado cuenta que lo que tengo que hacer es un GET, y no un POST, porque el script PHP hace GET. De todas formas lo he cambiado y me sigue apareciendo el mismo error:
...
<html><head><title>403 Forbidden</title></head><body><h1>Forbidden</h1><p>You don't have permission to access
...
Concretando, si accedo a la direccion por medio de un navegador como el firefox lo hago correctamente y se muestra lo que quiero, por ejemplo accedo a http://www.pagina.web.com/carpeta1/carpeta2/script.php y se muestra lo que dice el script.php.
Si accedo con un programita que he hecho asi rápido y simple en java tambien me accede y me muestra correctamente.
Si accedo por medio de la aplicacion android me da el error : You don't have permission to access.

Alguna idea???
Responder Con Cita
  #6  
Viejo 26/04/13, 11:18:33
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Pues no queda otra, tiene que ser algo de la configuracion. El server apache supongo que estara instalado en tu pc, por eso te deja acceder desde el navegador o desde la aplicacion java.

He estado mirando un poco por google y me e encontrado con varios post similares a este: http://www.lawebdelprogramador.com/f...on_this_s.html

Lo poco que he leido del tema, comentaban que si has instalado phpmyadmin te crea como un cortafuegos y hay que configurar algo para dejar acceder a ese server desde otra makina que no sea tu pc.

Haber si con algo de esto das con la clave para solucionar tu problema.
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #7  
Viejo 26/04/13, 13:20:24
Array

[xs_avatar]
ramon00 ramon00 no está en línea
Usuario novato en la web
 
Fecha de registro: abr 2013
Mensajes: 9
Modelo de smartphone: neo V
Tu operador: Movistar
no , el server es de la universidad, y he revisado tener acceso a las carpetas y los archivos, si no , no podria acceder normalmente con un navegador como el firefox o con la aplicacion en java. Bueno garcias por el interes e intentar aclararlo, voy a seguir intentando cosas, Saludos.
Responder Con Cita
  #8  
Viejo 26/04/13, 15:45:17
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Okk, un saludo y suerte !!

PD: ya ves que mas no puedo hacer,
__________________
Visita mi blog: EL BAUL DE ANDROID
Responder Con Cita
  #9  
Viejo 30/04/13, 04:05:03
Array

[xs_avatar]
mikau1802 mikau1802 no está en línea
Miembro del foro
 
Fecha de registro: mar 2010
Mensajes: 92
Tu operador: Movistar

Hola, checa el servidor donde tienes el PHP, agarra la compu que este en otra red (que tenga Internet y trata de entrar al URL del archivo PHP, si te sale lo mismo significa que el servidor apache tiene problemas, puede ser:
a) Solo acepte direcciones locales (solo te deja entrar si desde la compu donde tienes instalado el servidor entrar) Si es esto tienes que configurarlo para que sea publico.
b) SI esta publicado pero el Dominio o IP del servidor no es accesible desde afuera, en este caso es mas complicado, lo único que puedes hacer es migrar tu servidor a otra red donde puedas controlar esas cosas o conectar tu android a la MISMA red donde esta el servidor para que lo pueda ver.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 20:40:15 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /