[PHP-users 33688] Re: phpを使用して、https://のページを文字列で取得したいです。

聖歩美 hijiri.walk @ gmail.com
2008年 6月 24日 (火) 03:05:16 JST


聖と申します。


> 同じような記事も見つけましたが、一致した内容か分からず質問させていただきまし
> た。

とのことですが、
[PHP-users 22198]Re: file_get_contentsによるhttpsアクセスが失敗する
http://ml.php.gr.jp/pipermail/php-users/2004-June/022720.html
のことでしょうか?
(仮にそうだとすれば、確かにここでの問題とは違うようです。)


(1)
> $URL="https://jizen.kuronekoyamato.xx.xx/jizen/cr/jz/wb/CRJZWBJS0050.jsp";
> では、新しいリンク先にページが飛んでしまいます。
> 飛ばないように、もしくは、リンク先のURL取得が目的です。

file_get_contents は目的に適わないと思います。
リンク先(リダイレクト先)の URL 取得が目的とのことなので、
「レスポンスヘッダを取得する」というコーディングを行う必要があります。

これは、 PEAR や PECL の HTTP 拡張パッケージなどで対応できると思います。
http://pear.php.net/manual/ja/package.http.http-request.response-eval.php
http://www.php.net/manual/ja/function.http-get.php

(2)
> $URL="https://www.deal.XXXXX.co.jp/ITS/login/MemberLogin.jsp";
> では、以下のメッセージが表示されます。
> 「Unable to find the socket transport "https" - did you forget to enable it
> when you configured PHP」
> $sの中身はNULLのようです。

関連する DLL が正しく読み込まれていれば通常このエラーは出ないと思います。

可能性としては、
CLI 版と ISAPI 版との間で php.ini の読み込まれ方に差があるのではないか、と想像しました。
( php -m で openssl が出ても、 phpinfo() で出ないことがあります。)

的外れだったらごめんなさい(´・ω・`)

--
聖 歩美
hijiri.walk @ gmail.com


PHP-users メーリングリストの案内