probar ejemplo datos conexion clase cerrar cadena php https

ejemplo - php 7 mysqli



Cómo resolver manualmente hosts en conexiones HTTP(S) en PHP (2)

De acuerdo con el registro de cambios , se agregó soporte para CURLOPT_RESOLVE en 5.5.0.
Tenga en cuenta que, en el momento de la redacción, ni siquiera está documentado, pero de acuerdo con este informe de errores , toma una matriz como argumento.

Curl tiene una función para especificar manualmente qué IP resolver un host. Por ejemplo:

curl https://www.google.com --resolve "www.google.com:443:173.194.72.112"

Esto es especialmente útil cuando se usa HTTPS. Si solo fuera una solicitud HTTP, podría haber logrado lo mismo al especificar la dirección IP directamente y agregar un encabezado de host. Pero en HTTPS eso rompería la conexión ya que el host del certificado SSL se compararía con la dirección IP y no con el encabezado del host.

Mi pregunta es, ¿cómo puedo hacer lo mismo en PHP?


Aunque la respuesta de @ deceze es correcta, un ejemplo en vivo podría ser útil. Necesitaba CURLOPT_RESOLVE porque estaba intentando conectarme directamente a la dirección IP con un encabezado adicional de Host: www.example.com , pero como el servidor usaba SNI, no funcionó.

CURLOPT_RESOLVE para resolver mi problema. Este código me permite conectarme al servidor SNI en una dirección IP de mi elección:

$resolve = array(sprintf( "%s:%d:%s", $hostname, $port, $host_ip )); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RESOLVE, $resolve); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch);