SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【php】fsockopen()してhttps(SSL)するとき

fsockopen()でhttp通信できます。

$fp = fsockopen('www.softel.co.jp', 80);
fputs($fp, "GET /profile/information HTTP/1.1" . "\r\n");
fputs($fp, "Host: www.softel.co.jp\r\n");
fputs($fp, "\r\n");
$response = '';
while (!feof($fp)) {
	$response .= fgets($fp,4096);
}
fclose($fp);

SSLで接続するとき、これでは暗号化されません。

$fp = fsockopen('www.softel.co.jp', 443);

extension=php_openssl.dll (windowsのとき)を有効にしたり、OpenSSL サポートを有効にしてコンパイルするなどして、SSLクライアント接続が使えるようにして、接続先に ‘ssl://’ を付加します。

$fp = fsockopen('ssl://www.softel.co.jp', 443);

こうなります。

$fp = fsockopen('ssl://www.softel.co.jp', 443);
fputs($fp, "GET /inquiry HTTP/1.1" . "\r\n");
fputs($fp, "Host: www.softel.co.jp\r\n");
fputs($fp, "\r\n");
$response = '';
while (!feof($fp)) {
	$response .= fgets($fp,4096);
}
fclose($fp);

関連するメモ

コメント