2015-08-02 3 views
2

Есть ли функция Curl в PHP, которая похожа на аргумент '-v' из оболочки linux? Поскольку «-v» аргумент дает мне что-то вроде этого:Есть ли аргумент Curl -v в php?

$ curl -v https://www.bankinter.com 
* About to connect() to www.bankinter.com port 443 (#0) 
* Trying 195.235.25.185... connected 
* Connected to www.bankinter.com (195.235.25.185) port 443 (#0) 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
    *//I NEED HERE...* 
    * SSL connection using AES256-SHA 
    * Server certificate: 
    * subject: 1.3.6.1.4.1.311.60.2.1.3=ES; 2.5.4.15=V1.0, Clause 
    5.(b); serialNumber=A28157360; C=ES; ST=Madrid; L=Tres Cantos; 
    O=Bankinter S.A.; OU=Bankinter S.A.; OU=Terms of use at 
    www.verisign.com/rpa (c)05; CN=www.bankinter.com 
    * start date: 2009-12-07 00:00:00 GMT 
    * expire date: 2011-01-06 23:59:59 GMT 
    * common name: www.bankinter.com (matched) 
    * issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; 
    OU=Terms of use at https://www.verisign.com/rpa (c)06; CN=VeriSign 
    Class 3 Extended Validation SSL SGC CA 
    * SSL certificate verify ok. 
    * //...TO HERE* 
> GET/HTTP/1.1 
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 
OpenSSL/0.9.8l zlib/1.2.3 
> Host: www.bankinter.com 
> Accept: */* 
> 

И мне нужно, чтобы получить те же самые данные в текстовый файл в PHP ...
Кто знает какой-либо способ?

Спасибо, и извините за плохой английский

P.S. «Www.bankinter.com» это просто тест

+0

Что ваша конкретная цель? Получить информацию о сертификате SSL? – duskwuff

+0

Я думаю, что 'CURLOPT_VERBOSE' и' CURLOPT_CERTINFO' - это то, что вы ищете. Вы настроили его, например. ['curl_setopt'] (http://php.net/manual/en/function.curl-setopt.php) –

ответ

1

Из документации CURL:

-v, --verbose  Make the operation more talkative 

Так с этим в виду, вы можете добавить опцию CURL VERBOSE, а затем сохранить результат в файл. Попробуйте это:

вариант CURL

$outputFile = 'curlOutput.txt'; 

$handle=curl_init('https://www.bankinter.com'); 
curl_setopt($handle, CURLOPT_VERBOSE, true); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($handle, CURLOPT_STDERR,$f = fopen($outputFile, "w+")); 
curl_setopt($handle, CURLOPT_CERTINFO, true); 
curl_exec($handle); 

fclose($f); 

CURL альтернатива

$g = stream_context_create (array("ssl" => array("capture_peer_cert" => true))); 
$r = stream_socket_client("ssl://www.google.com:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $g); 
$cont = stream_context_get_params($r); 
print_r(openssl_x509_parse($cont["options"]["ssl"]["peer_certificate"])); 

ОБНОВЛЕНО включить CURLOPT_CERTINFO (кредит Crayon Violent)

+0

Спасибо, я попробую, что –

+0

Он работал над сохранением файла, мне это удалось, но данные, которые я получаю, - это не то, что мне нужно. Мне нужны данные о сертификате SSL. –

+0

Эти данные можно просмотреть на моем окружении, какая версия библиотеки php-curl вы используете? Если возможно, я предлагаю обновить до последней версии. – Muzza

Смежные вопросы