今日はphpのfsockeopen()の使い方注意をメモメモ。
httpsな外部サイトへfsockopen()したいときは
fsockopen('www.example.com', 443, $errono, $errstr, $timeout);では接続できません。
サーバ側から
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”> <html><head><title>400 Bad Request</title></head><body><h1>Bad Request</h1><p>Your browser sent a request that this server could not understand.<br /> Reason: You’re speaking plain HTTP to an SSL-enabled server port.<br /> Instead use the HTTPS scheme to access this URL, please.<br />とかで帰ってきます。
fsockopen()でhttps://なサイトへ接続するときは
fsockopen('ssl://www.example.com', 443, $errno, $errstr, $timeout);としましょう。
あ、ちなみにphpはopensslが利用可能な環境でインストールされている必要がありますよ。
./configure --with-openssl
以上でぇぇえっぇす。