[PHP-users 33696] Re: httpsのページに対して、POST送信をし、結果ページをテキストで取得したい
Norio Suzuki
suzuki @ tricorn.co.jp
2008年 6月 24日 (火) 11:58:38 JST
鈴木です。
At Tue, 24 Jun 2008 11:11:24 +0900,
<tanig108 @ edogawa.home.ne.jp> wrote:
>
> そうですか。。。
> ただ、実行結果の$err_num,$err_msgは、0,nullなので接続できているのかと思って
> いました。
403 が返って来ているなら、Web サーバへの「接続」は成功していますので、
fsckopen() ではエラーにはなりません。
Web サーバが許可していないファイル(URL)へのアクセスだったので、
「要求されたコンテンツの表示」をする代わりに、「403 というエラーを表示」した
という動きになっています。
> > 2. 取得したい URL は https://www.aaaa.bbbbb.cccc.jp/ ですか?
> > それとも https://www.aaaa.bbbbb.cccc.jp/zzzz.html ですか?
> > 上のソースでは、$PATH が定義されていないようなので、前者へのリクエス
> > トとなっています。
> 所得したいURLは、 https://www.aaaa.bbbbb.cccc.jp/zzzz.html になります。
だとすると、POST の部分は次のような形式になると思います。
POST /zzzz.html HTTP/1.1
> $PATHは、 https://www.aaaa.bbbbb.cccc.jp/zzzz.html に設定してあります。
もし $PATH が上記の状態だと、次のような形式になっているのでは?
POST https://www.aaaa.bbbbb.cccc.jp/zzzz.html HTTP/1.1
これは結果として、次の URL を Web サーバへ要求していることになります。
https://www.aaaa.bbbbb.cccc.jp/https://www.aaaa.bbbbb.cccc.jp/zzzz.html
個人的には、cURL 系を使った方が楽なような気がしますが、この方法で行くなら
少し寄り道をして、HTTP プロトコルについて理解を深めた方が先に進み易いか
と思います。
ty さんに合うかどうかは分かりませんが、私はこの辺りでプロトコルの勉強を
進めました。
http://www.atmarkit.co.jp/fnetwork/rensai/netpro00/netpro01.html
# だいぶ古いですけどね :-)
;; ---------------------------------------------------------
;; 鈴木則夫 <suzuki @ tricorn.co.jp>
;; トライコーン株式会社 http://www.tricorn.co.jp/
;; 160-0015 東京都新宿区大京町24 住友外苑ビル5F
;; Tel 03-5919-0041 Fax 03-5919-0042
PHP-users メーリングリストの案内