Foros del Web » Programando para Internet » PHP »

enviar informacion mediante post a un servidor HTTPS

Estas en el tema de enviar informacion mediante post a un servidor HTTPS en el foro de PHP en Foros del Web. Hola a Todos. tengo este script Código PHP: <? $host  =  "www.sitiodestino.com" ; $method  =  "POST" ; $path  =  "/servicios/elscript.asp" ; $data  =  $PostString ; ...
  #1 (permalink)  
Antiguo 13/09/2005, 14:57
Avatar de ancubero  
Fecha de Ingreso: octubre-2003
Ubicación: San Jose Costa Rica
Mensajes: 54
Antigüedad: 20 años, 5 meses
Puntos: 0
enviar informacion mediante post a un servidor HTTPS

Hola a Todos.

tengo este script

Código PHP:
<?
$host 
"www.sitiodestino.com";
$method "POST";
$path "/servicios/elscript.asp";
$data $PostString;

    
$method strtoupper($method);

    
$fp fsockopen($host443);
    
fputs($fp"$method $path HTTP/1.1\r\n");
    
fputs($fp"Host: $host\r\n");
    
fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
    
fputs($fp"Content-length: " strlen($data) . "\r\n");
    
fputs($fp"Connection: close\r\n\r\n");
    if (
$method == 'POST') {
        
fputs($fp$data);
    }
    while (!
feof($fp)) {
               
$buf .= fgets($fp);
    }

     echo  
$buf;
?>
cuando llego a la parte de $buf .= fgets($fp); el script se queda sin hacer nada y despues me da un timeout.

el problema es que definitivamente tiene que ser a https si alguien sabe de algun script se lo agradeceria.

Gracias
  #2 (permalink)  
Antiguo 13/09/2005, 15:20
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
chequea este, necesitaras curl

http://melbourne.ug.php.net/content/view/97/76/
  #3 (permalink)  
Antiguo 13/09/2005, 17:18
Avatar de ancubero  
Fecha de Ingreso: octubre-2003
Ubicación: San Jose Costa Rica
Mensajes: 54
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracia Vaalegk

hasta ahora tratado de instalar el curl sin exito, pero ya que es la unica opcion voy ver si consigo como instalarlo pues baje el .exe que trae la aplicacion lo instale en mi maquina para hacer pruebas me da este error

Fatal error: Call to undefined function: curl_init() in D:\www\xml-lead\test.php on line 2

Muchas Gracias.
  #4 (permalink)  
Antiguo 13/09/2005, 17:38
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
perdon, debi haberte avisado que probablemente ya lo tenias en tu maquina(en la carperta ext en tu directorio de PHP), y que tenias que habilitarlo en el php.ini.
  #5 (permalink)  
Antiguo 14/09/2005, 01:49
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 19 años, 3 meses
Puntos: 2
ya que se habla de curl. He intentado varias veces instalar esta extension en mi maquina. Alhuien podria explicarme como hacerlo correctamente?? mi so es windows xp y utilizo php bajo el servidor appserv.

Les agradeceria esta informacion. Llevo tiempo intentandolo si n conseguirlo

__________________
abe_k

Si quieres visitar Andorra, consulta la guia de este pequeño pais y conseguiras toda la información que necesites. La guia del visitante en Andorra
  #6 (permalink)  
Antiguo 14/09/2005, 09:22
Avatar de ancubero  
Fecha de Ingreso: octubre-2003
Ubicación: San Jose Costa Rica
Mensajes: 54
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracia Vaalegk

ya tengo el curl funcionando, bueno almenos ya no me da error ahora no me esta deplegando nada pero eso es cuestion de un echo espero

Gracias
  #7 (permalink)  
Antiguo 14/09/2005, 09:36
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
Denada ancubero.

abe_K:
si es la extension, esta en tu directorio php/ext y se llama php_curl.dll y debes habilitarla en tu php.ini.

si te sale el error de que no se encuentra la libreria y esta donde debe estar
trata esto:

verifica que el extension_dir en tu php.ini apunta donde estan tus extensiones y
dale un restart a tu apache.

si te sigue saliendo el error de que no la encuentra, trata poner la dir en el PATH de tus variables de entorno.

... si todavia no la encuentra, trata ponerla en directorio donde esta php

...
como ultimo y desesperado recurso ponla en tu carpeta windows para ver...

si no... ni idea man.

bueno si se trata del instalador de curl, en realidad no lo he utilizado, asi que no sabria decirte...
  #8 (permalink)  
Antiguo 15/09/2005, 09:16
Avatar de ancubero  
Fecha de Ingreso: octubre-2003
Ubicación: San Jose Costa Rica
Mensajes: 54
Antigüedad: 20 años, 5 meses
Puntos: 0
Vaalegk

Ya lo hice funcionar nada mas que no le gusta hacer request al server cuando lo hago con https,simplemente no hace nada, encambio si lo hago a un server que no necesita el https si me responde bien.
No se si estoy en lo correcto, que sea la libreria de curl que tengo instalada que no soporta el ssl.

gracias.
  #9 (permalink)  
Antiguo 15/09/2005, 10:13
Avatar de Vaalegk  
Fecha de Ingreso: abril-2005
Mensajes: 154
Antigüedad: 19 años
Puntos: 2
bueno si el sitio al que haces el request https no tiene un certificado "oficialmente certificado" intenta agregar estas lineas al script lo cual evita que curl verifique las credenciales.

curl_setopt ($cURL_resource, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($cURL_resource, CURLOPT_SSL_VERIFYHOST, 0);
  #10 (permalink)  
Antiguo 15/09/2005, 13:05
Avatar de ancubero  
Fecha de Ingreso: octubre-2003
Ubicación: San Jose Costa Rica
Mensajes: 54
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias Vaalegk

Ya me hace el request a el server https.

aqui esta el codigo por que alguien mas lo llegara a ocupar


Código PHP:
<?php 
$ch 
curl_init(); 
$rescurl_setopt ($chCURLOPT_URL,"https://tusito.com"); 
curl_setopt($chCURLOPT_SSL_VERIFYPEER0); 
curl_setopt ($chCURLOPT_SSL_VERIFYHOST0);
curl_setopt ($chCURLOPT_HEADER0); 
curl_setopt($chCURLOPT_POST1); 
curl_setopt($chCURLOPT_POSTFIELDS"campo1=1&campo2=2....."); 
curl_setopt ($chCURLOPT_RETURNTRANSFER1); 
$result curl_exec ($ch); 

echo 
$result;

curl_close ($ch); 
?>
muchas gracias.
  #11 (permalink)  
Antiguo 01/07/2006, 16:15
Avatar de ASCENDEDMASTERS  
Fecha de Ingreso: julio-2005
Ubicación: Pergamino, Buenos Aires
Mensajes: 302
Antigüedad: 18 años, 9 meses
Puntos: 1
bien, mandas el contenido de una variable hasta ahora, pero si queres enviar 3 variables? como sería? se le pasa un array llamado "$_POST" con todas estas (las tres variables o la cantidad que sean) ?

Como sería?

Muchas gracias
__________________
Dios es la unica fuente de todo bien.
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 08:36.