Program: 2007年9月アーカイブ

Perl で HTTPS を利用した POST 方法を書いたが、Perl のモジュール LWP が SSL 通信をするには Crypt::SSLeay がインストールされている必要があった。
Crypt::SSLeay がインストールされていない状態で $request->init_header とかすると、下記のようなエラーがでたんす。
PHP で SSL 越しの POST ができない、というドキュメントがちらほら見られたので、Perl でも障害になりうる場所かな、とか思っていたら見事にハマる。

ここで言う POST は、HTML の submit ボタンを押下して POST 、という流れではなく、スクリプトを実行すると、ウェブサーバへパラメータが POST されるというもの。
つまりトリガーが違うのね。
HTML のフォームを利用せずに、PHP から Web サーバに対しデータを POST する方法。
とあるシステムの開発で必要になったので、調べてみた。


PHP で行う場合は fsockopen 関数を利用し、ソケット接続。最低限 HTTP ヘッダの Content-TypeContent-Length を記述し、送信するデータは urlencode 関数でエンコード。複数の引数を渡す場合は GET と同じように&区切りでデータを記述。

データ受信側は通常通り $_POST["hoge"] で受け取れる。

このアーカイブについて

このページには、2007年9月以降に書かれたブログ記事のうちProgramカテゴリに属しているものが含まれています。

前のアーカイブはProgram: 2007年7月です。

次のアーカイブはProgram: 2007年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。