[메모] php에서 https로의 소켓 접속을 하려면

[목차(도우미)]
php에서 https로의 소켓 접속을 하려면
fsockopen($host, $port)함수를 사용하면 되는데, $port=443이고 $host는 ssl://로 시작하도록 접두어를 붙여야 한다.

좀더 구체적으로 예를 들면

fsockopen("ssl://some.site.addr", 443)  

이 경우 PHP는 openSSL이 설치되어 있어야 제대로 동작한다. 직접 확인해본 결과도 ssl즉 https로의 접속이 문제없이 잘 되었다.
만일 설치되어 있지 않으면? "Unable to find the socket transport ssl did you forget to enable it when you configured PHP" 이라는 에러 메시지가 나온다.
Plesk를 사용한 서버는 미리 openSSL을 설치해 둔 것같다. 굳이 버전을 확인해보지는 않았으나 PHP에서 접속이 되는 것으로 보아 openSSL이 설치된 것으로 여기고 확인하지는 않았다.

<참고>
fsockopen함수가 아닌 curl함수계열을 써서 접속하는 예제도 많이 있으나 fsockopen이 단순하고 http접속을 공유화 할 수 있기 때문에 편리하다고 본다.

만일 openSSL이 설치되어 있지 않다면 다운로드하여 설치해야 한다.

다음은 인터넷에서 조사한 몇몇 참고 페이지주소:


여기까지 읽고 잘 모르겠는 분은 댓글을 남겨 두세요.

by 금메달.아빠 on 2011. 3. 23. 01:53