Foros del Web » Programando para Internet » PHP »

Como puedo abrir un https://??

Estas en el tema de Como puedo abrir un https://?? en el foro de PHP en Foros del Web. Hola, estoy intentando abrir un sitio https:// con file() pero no puedo... me da estos errores: Notice: fopen(): Unable to find the wrapper "https" - ...

  #1 (permalink)  
Antiguo 19/12/2004, 09:45
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Como puedo abrir un https://??

Hola, estoy intentando abrir un sitio https:// con file() pero no puedo... me da estos errores:

Notice: fopen(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?

Warning: fopen(https://ladireccion): failed to open stream: Invalid argument

Warning: stream_get_meta_data(): supplied argument is not a valid stream resource

Warning: Invalid argument supplied for foreach()


el codigo php es este:

Código PHP:
<?php
$url 
'https://ladireccion';

$fp fopen($url'r');

/* Prior to PHP 4.3.0 use $http_response_header
   instead of stream_get_meta_data() */
foreach(stream_get_meta_data($fp) as $response) {

  
/* Were we redirected? */
  
if (substr(strtolower($response), 010) == 'location: ') {
    
/* update $url with where we were redirected to */
    
$url substr($response10);
  }

}

?>
Que es lo que puedo hacer?

Saludos
MrReview
  #2 (permalink)  
Antiguo 19/12/2004, 10:23
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 1 mes
Puntos: 1
dos cosas.

1. Tienes habilidato el módulo SSL para apache (o el servidor que estes usando)
2. Tienes habilitada la directiva allow_url_fopen en el php.ini??

el módulo de ssl debe tener un nombre como mod_ssl y debe estar habilitado
  #3 (permalink)  
Antiguo 19/12/2004, 10:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
lo de allow_url_fopen si que esta activado lo que no tengo es lo del mod_ssl. como lo puedo activar?
  #4 (permalink)  
Antiguo 19/12/2004, 14:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
porfavor ayuda
  #5 (permalink)  
Antiguo 20/12/2004, 05:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Que versión de PHP usas? ..

El protocolo https sólo está disponible desde PHP 4.3.0 en adelante.
http://www.php.net/manual/en/wrappers.http.php

Un saludo,
  #6 (permalink)  
Antiguo 20/12/2004, 05:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
Cluster, gracias por tu comentario.
La version que uso es la 4.3.9.
  #7 (permalink)  
Antiguo 20/12/2004, 05:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pues dice el error que no lo tienes habilitado .. (el protocolo https). Es decir .. que además de usar PHP 4.3.0 o superior, como te comentó sism82 necesitas instalar soporte SSL (al menos openSSL o similar) para Apache.

Un saludo,
  #8 (permalink)  
Antiguo 20/12/2004, 06:35
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
He buscado en el phpinfo acerca del ssl los streams y demas y hay esto:

Registered PHP Streams: php, http, ftp, compress.zlib

Apache Version: Apache/1.3.33 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.3.9 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.7a

Loaded Modules: mod_auth_passthrough, mod_log_bytes, mod_bwlimited, mod_php4, mod_frontpage, mod_ssl, mod_setenvif, mod_so, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status, mod_negotiation, mod_mime, mod_log_config, mod_env, http_core

SERVER_SOFTWARE: Apache/1.3.33 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.3.9 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.7a

CURL support: enabled
CURL Information libcurl/7.12.0 OpenSSL/0.9.7a zlib/1.1.4

_SERVER["SERVER_SOFTWARE"]: Apache/1.3.33 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.3.9 FrontPage/5.0.2.2635 mod_ssl/2.8.22 OpenSSL/0.9.7a

Creo que está todo activado no?
  #9 (permalink)  
Antiguo 20/12/2004, 13:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
mm En teoría así es .. todo está instalado.

Veo también que usas cURL (o que puedes disponer de ella) .. podrías probar a usarlo:
www.php.net/curl

Esas extensiones te permiten abrir conexiones por sockets (incluso bajo SSL).

Un saludo,
  #10 (permalink)  
Antiguo 20/12/2004, 14:49
 
Fecha de Ingreso: mayo-2004
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
ok gracias ahora miraré
  #11 (permalink)  
Antiguo 22/03/2006, 18:23
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Ayudadme a mi, yo no se como abrir httpS

Que hago ?
  #12 (permalink)  
Antiguo 23/03/2006, 06:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por Anarko
Ayudadme a mi, yo no se como abrir httpS

Que hago ?
Pero ya te has leido todo los comentarios y funciones que aquí se han presentado?

vas a usar cURL? .. tienes instalada dicha extensión? .. En fin .. que has probado tu al respecto? .. Será mejor que indiques que es lo que necesitas hacer concretamente y que has probado pero tal vez no te funcione para ir al grano!.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 23/03/2006, 09:21
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Que alegria verte profesor

Cuando venis por aca pues ?

...Llevo semanas intentando:
Código PHP:
<?php
    $url
='https://www.enom.com/domains/default.asp';
    if(
$q=fopen($url,'4'))echo 1;
?>
Y como comprenderas me sale el WARNING asi que llegue a este POST, y no tengo idea de como "RECOMPILAR" PHP para que me lea CURL.

De lo que he podido pillar, como que tengo que vajar unos files de nombre "CURL"...

Ayudame.

Gracias.
  #14 (permalink)  
Antiguo 23/03/2006, 09:49
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Cluster por favor lee:

http://www.forosdelweb.com/f18/he-abierto-con-fsockopen-puerto-443-ahora-como-leo-algo-379398/
  #15 (permalink)  
Antiguo 23/03/2006, 10:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por Anarko
Que alegria verte profesor

Cuando venis por aca pues ?

...Llevo semanas intentando:
Código PHP:
<?php
    $url
='https://www.enom.com/domains/default.asp';
    if(
$q=fopen($url,'4'))echo 1;
?>
Y como comprenderas me sale el WARNING asi que llegue a este POST, y no tengo idea de como "RECOMPILAR" PHP para que me lea CURL.

De lo que he podido pillar, como que tengo que vajar unos files de nombre "CURL"...

Ayudame.

Gracias.
Pero a ver .. que "warting" concreto te dá? .. Que sistema operativo usas en tu servidor? .. cURL es una extensión que debes instalar .. como cualquier otra si es que no dispones de ella.

Las extensiones en "linux" se recompila PHP o se incorporan por algún "RPM" o similar .. En windows no se "recompila PHP" tal sólo se habilita tu php.ini para usar cierta php_xxx.dll que son las extensiones de PHP en windows.

Por eso es tan necesario que todos los datos que te pido.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 23/03/2006, 13:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Este codigo que funcionaria al perlo con http:// me dice:
Código PHP:
<?php
    $url
='https://www.enom.com/domains/default.asp';
    if(
$q=fopen($url,'4'))echo 1;
?>
me da este error: Warning: fopen(https://www.enom.com/domains/default.asp): failed to open stream: Success in /home/user/public_html/00.php on line 3 En un SO linux, y en el cual no podre decirle a los que me venden el host que compilen de nuevo PHP y lo hagan aza... simplemente no lo haran... "los conozco"

Seria + como correr el tal CURL a manera de "includes"
  #17 (permalink)  
Antiguo 23/03/2006, 15:52
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
He abierto el PHP.INI y dice:

allow_url_fopen On On
  #18 (permalink)  
Antiguo 24/03/2006, 08:32
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Y como se hace ?

Cita:
Iniciado por Cluster
Pues dice el error que no lo tienes habilitado .. (el protocolo https). Es decir .. que además de usar PHP 4.3.0 o superior, como te comentó sism82 necesitas instalar soporte SSL (al menos openSSL o similar) para Apache.

Un saludo,
Y como se hace eso ?

Ademas me sale todo = que ha MrReview, (acerca de mod_ssl en Apache y PHP)
  #19 (permalink)  
Antiguo 24/03/2006, 11:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si dices ver referencias al "mod_ssl" y a "openSSL" quiere decir que lo tienes instalado!. Pero para eso tendrás que confirmarlo con tu proveedor (supongo que usas un servicio de hosting? ..)

Además tu no estás teniendo en cuenta que no sólo TU servidor tiene que tener abiertlo los puertos por los que te quieres hacer una conexión (por sockets) .. sino de que la otra parte acepte una conexión así (supuestamente la debe aceptar).

Consulta con tu proveedor el tema de "sockets" y si tu eres tu "proveedor" revisa la configuración de tus firewalls y demás.

A veces muchos proveedores no permiten conexiones por sockets directas pero si a traves de un proxy.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 24/03/2006 a las 13:10
  #20 (permalink)  
Antiguo 24/03/2006, 13:02
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 19 años, 4 meses
Puntos: 0
Esta bueno el tema.... voy a revisar en mi caso tengo algo que hacer con ello...
__________________
Saludos. Frank :arriba:

Mi Blog http://fjgmblog.blogspot.com
  #21 (permalink)  
Antiguo 24/03/2006, 13:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Cluster, diculpame pero no estoy bien ubicado...

Cuando corro:
Código PHP:
<?php
$fs 
fsockopen("ssl://www.secureserver.com"443);
echo 
1; exit;
?>
me sale: Warning: fsockopen(): no SSL support in this build in /home/user/public_html/00.php on line 2

Warning: fsockopen(): unable to connect to www.secureserver.com:443 in /home/user/public_html/00.php on line 2
1


Luego me sugieres que le pregunte al proveedor, pero ni siquiera se que es lo que le debo preguntar.

Le cuento a todos que lo unico que quiero es tomar la salida HTML de https://www.enom.com/domains/default.asp y depurarle con html_tags() ya lo he hecho años con paginas http://talsitio pero ahora requiero hacer exactamente lo mismo con httpS://talsitio

Solo eso, abrir un URL tipo httpS nada +, quizas en el futuro requiera escribir datos, y algo + , pero ahora unicamente tomar la salida HTML que se ve cuan cualquier browser al ingresar en https://www.enom.com/domains/default.asp y eso es todo.

Pero estoy severamente perdido...

Gracias.
  #22 (permalink)  
Antiguo 24/03/2006, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Warning: fsockopen(): no SSL support in this build in /home/user/public_html/00.php on line 2
El error te dice en tu caso que el protocolo SSL directo (por tu ssl: como "wraper") no es soportado:

http://tr2.php.net/manual/en/wrappers.php

No sé que versión de PHP usas .. pero la documentación de PHP dice bien claro:

https:// since PHP 4.3.0

También hay comentarios sobre SSL:
Cita:
Underlying socket stream context options: Additional context options may be supported by the underlying transport For http:// streams, refer to context options for the tcp:// transport. For https:// streams, refer to context options for the ssl:// transport.
Por mi parte hice una pequeña y simple prueba:

Aclarar antes que uso PHP 5.0.x (bajo Linux en este caso) .. que tengo la siguiente configuración:

allow_url_fopen = ON

Mis "wrapers" habilitados son:
Registered Stream Socket Transports:
tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
(si se fijan .. tengo incluido el "ssl")

El código de pruebas:
Código PHP:
<?php
$url 
'https://www.enom.com/domains/default.asp';

$fp fopen($url'r');

/* Prior to PHP 4.3.0 use $http_response_header 
   instead of stream_get_meta_data() */
$meta_data stream_get_meta_data($fp); // esta función sólo funciona desde PHP 4.3.x
echo "<pre>";
print_r($meta_data);
echo 
"</pre>";

?>
El ejemplo está extraido de la documentación de PHP directamente:
http://www.php.net/file_get_contents

Y hay más ejemplos en los comentarios de los usuarios de esas funciones. El problema de que esto funcione o no es directamente de configuración de PHP y luego de sus condiciones de su LAN/Servidor si corresponde (firewalls .. etc).

El resultado:
Cita:
Array
(
[wrapper_data] => Array
(
[0] => HTTP/1.1 200 OK
[1] => Connection: close
[2] => Date: Fri, 24 Mar 2006 20:08:05 GMT
[3] => Server: Microsoft-IIS/6.0
[4] => Content-Length: 33189
[5] => Content-Type: text/html
[6] => Cache-control: private
)

[wrapper_type] => HTTP
[stream_type] => tcp_socket/ssl
[mode] => r+
[unread_bytes] => 2746
[seekable] =>
[uri] => https://www.enom.com/domains/default.asp
[timed_out] =>
[blocked] => 1
[eof] =>
)
Incluso les puedo comentar que mi servidor HTTP (con PHP) está bajo un proxy (transparente, pasando por otro Servidor que hace proxy/firewall transparente con NAT).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #23 (permalink)  
Antiguo 24/03/2006, 14:40
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Maestro, decirte que esto dice mi PHP:



Puedes ver que Tengo > a 4.3.0 en un SO LINUX

Y como os digo, solo quiero abrir el URL, nada de "mandarle datos" o algo asi, solo tomar la salida HTML, y manejar esa cadena de caracteres...

Tambien tengo PHP como sugieres:



Y si lo deseas, tambien podria pegar la info de APACHE, todo supone "cumplir con".

Gracias por tu tiempo.

Última edición por Anarko; 24/03/2006 a las 14:49
  #24 (permalink)  
Antiguo 24/03/2006, 14:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Te faltó en tu "ScreenShot" la parte que dice (phpinfo()):

Registered Stream Socket Transports:

Justamente ahí dirá si tienes soporte "SSL" o no para los "wrappers". De hecho no tienes nada sobre openSSL (yo si) .. deberías ver un:

--with-openssl en el bloque de directivas de configuración y en un módulo tipo:

OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.7f 22 Mar 2005

Realmente esto por mi parte ya lo tenía instalado .. así que con eso creo que es uno de los requisitos para que puedas usar el "wrapper" SSL ?¡? (según leí la documentación de PHP es requisito).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #25 (permalink)  
Antiguo 24/03/2006, 15:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
No entiendo ni que es wrapper, ni por que al dar Control + F no me aparece -with-openss

Puedes ver que solo aparece la palabra SOCKET 1 vez en el file:



Pero aqui esta el phinfo: www.colombiaaventuras.org/phpinfo.php completico

Aunque hay mucha info en NET que informa el asunto, por favor respondeme:

¿ tengo habilitado el tal OpenSSL ?

Por el lado de Apache pareciera que si:


Última edición por Anarko; 24/03/2006 a las 15:24
  #26 (permalink)  
Antiguo 24/03/2006, 15:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Lo que andamos buscando está en el primer bloque de información que entrega tu phpinfo() .. NO uses más "buscar" o contro-F .. Tienes que entender que es lo que buscas .. Como veras la "frase" no es la misma en la versión de PHP que yo uso a la tuya .. pero llegue a ver lo que necesito por simple "descarte y por qué dice "stream":

Registered PHP Streams
php, http, ftp, compress.zlib

Como veras, no tienes el "SSL" en la lista .. así que ahora tus esfuerzos tendrán que ir enfocados a conseguir que ahí aparezca "SSL" en esa lista.

No me he puesto a investigar el tema .. pero tiene relación directa con la instalación de openSSL para PHP (soporte/extensión). Tu puedes compilar o hacer instalaciones de extensiones en ese servidor? .. si no es así .. creo que podrías olvidar el tema .. es requisito eso que te comento (si no me equivoco).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #27 (permalink)  
Antiguo 24/03/2006, 15:39
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Acabo de enviar un TICK a la empresa con:

"Please, I need PHP with OpenSSL:

http://www.php.net/manual/en/ref.openssl.php

Please this is very urgent.

Thanks."

Vere que me dicen los tios...

Gracias Profe...

Sin tu inmenso resumen estaria + que perdido...
  #28 (permalink)  
Antiguo 24/03/2006, 15:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por Anarko
Acabo de enviar un TICK a la empresa con:

"Please, I need PHP with OpenSSL:

http://www.php.net/manual/en/ref.openssl.php

Please this is very urgent.

Thanks."

Vere que me dicen los tios...

Gracias Profe...

Sin tu inmenso resumen estaria + que perdido...
Que tengas suerte!! .. (yo no les tengo "Fé" .. la mayoría de proveedores de servicios de hosting nunca instalan nada de esas características si no lo usaban desde un principio).

No obstante podrías explicar a tu proveedor por qué lo pides .. tal vez te den otra solución que por aquí desconocemos.

(una vez vi un caso parecido y la solución del proveedor era que tenía que pasar las conexiones por un "proxy" para sockets especial que usaban ellos .. Ojo con eso).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #29 (permalink)  
Antiguo 24/03/2006, 15:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Se me olvidó ...

Ya puestos a pedirles cosas, .. que te instalen cURL (www.php.net/curl) .. eso implica alguna instalación de soporte SSL a su vez (o por lo menos ese grupo de funciones lo controla ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #30 (permalink)  
Antiguo 24/03/2006, 15:55
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Ojo

Cita:
Iniciado por Cluster
... Ojo con eso
Ojo con que ?

Que dices tu ?:
  1. Proxy
  2. Php "recompilado"

Cual es mejor ?, (Velocidad, Seguridad, usabilidad...)

Me da la impresion que al = que toda Funcion cargada, CURL = Hacer + pesado el PHP

Sera que logro abrir el HTML del URL mensionado sin el tal CURL ?
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 14:11.