Foros del Web » Programando para Internet » PHP »

me traen los sockets por el camino de la amargura SOS

Estas en el tema de me traen los sockets por el camino de la amargura SOS en el foro de PHP en Foros del Web. Hola os cuento un poquito como va el tema en el que estoy estoy llamando por sockets a una url https a la que le ...
  #1 (permalink)  
Antiguo 08/08/2008, 05:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
me traen los sockets por el camino de la amargura SOS

Hola

os cuento un poquito como va el tema en el que estoy
estoy llamando por sockets a una url https a la que le paso unos parametros para que me devuelva otros

la respuesta es bad request que no se corresponde con ningun error de los que me devuelve el servidor al que mando cuando algo falla, por lo que no sé si esta respuesta es por tener los shockets mal montados
os pongo el código, a ver si alguin por favor me lo puede echar un vistazo, por que he probado con fsockopen y con otras ni se cuantas funciones y no encuentro una respuesta válida

Código:
$urlenvio="https://**************.com/cgi-bin/CGIRegistro.pl?" . $urlct . $urldatos;
 //EMPIEZAN LOS SOCKETS
$cfgServer    = $urlenvio ; //servidor al que queremos conectar
$cfgPort    = 80; // puerto a traves del que queremos conectar
$cfgTimeOut    = 10; // tiempo de respuesta
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
    echo "OK.\n";
}
// open a socket
if(!$cfgTimeOut)
    // without timeout
    $usenet_handle = fopen($cfgServer, $cfgPort);
else
    // with timeout
    $usenet_handle = fopen($cfgServer, 'x+');
if(!$usenet_handle) {
    echo "Connexion failed ";
    exit();
}   
else {
    echo "Connected ";
    $tmp = fread($usenet_handle);
	echo "-------------------------------------->" . $tmp . "<------------";
	echo "-------------------------------------->" . $usenet_handle;
	
}
Muchas gracias de antemano :)
  #2 (permalink)  
Antiguo 08/08/2008, 08:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: me traen los sockets por el camino de la amargura SOS

Hola manzarinaa,

Si te sale ese error es que tu URL esta mal formada y por eso te marca el error.

Saludos.
  #3 (permalink)  
Antiguo 08/08/2008, 08:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 382
Antigüedad: 16 años, 5 meses
Puntos: 16
Respuesta: me traen los sockets por el camino de la amargura SOS

esta url la estaba antes mandando con header(location... y me saltaba un error de autentificación por el tema de que la ip tenia que ser la del servidor de la pagina, y no la del ordenador pero el resto de los datos (login y password) los cogia, para solucionar el tema de la ip me puse a hacerlo con los sockets, la url que envio ahora es la misma, a lo mejor debo hacerlo con otro formato...¿?
a los parametros les estoy pasando el urlencode() o no se....
por lo que he podido leer de los sockets primero establacen conexion y luego mandan los datos, a lo mejor se los tengo que mandar aparte??
La verdad es que ya tengo la cabeza hecha un bombo por que despues de enviar los datos, por get, por post, el intento de mandarlo por curl, me salen con lo de las ips y ya llevo 10 dias para hacer que un formulario se envie como debe, y ya no me veo capaz....

¿por que puede ser que por get y post la url conecte y por socket no??
  #4 (permalink)  
Antiguo 08/08/2008, 08:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: me traen los sockets por el camino de la amargura SOS

Hola manzarinaa,

Te recomiendo que leas un poco de como deben de ser las peticiones HTTP, con ellas te podrás dar cuenta como es que tienes que hacer el llamado (ya sea por GET o por POST), pero via sockets, para que sea desde la IP del servidor, ya que con el código que estas poniendo no esta haciendo una petición HTTP valida.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:48.