Hey i try to get header information of url ,
when i use the protocol http it's work fine , but when i use https it's not working
the url : https://200.35.78.130/
Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in
Warning: get_headers(): Failed to enable crypto in
Warning: get_headers(https://200.35.78.130/): failed to open stream: operation failed in /
this is my code
print_r(get_headers("https://200.35.78.130/", 1));
That error occurs when you're trying to access a URL without a valid SSL certificate. You can work around this by overriding the default stream context, which will affect all subsequent file operations (including remote URLs)
<?php
stream_context_set_default( [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]);
print_r(get_headers('https://200.35.78.130/'));
Alternatively, if you're using PHP 7.1+, you can create a temporary context using stream_context_create
and pass it directly to the function, to avoid overriding the default:
$context = stream_context_create( [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]);
print_r(get_headers('https://200.35.78.130/', 0, $context));
Thanks to Matthijs Wessels in the comments for pointing it out.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With