[PHP-users 11680] Re: CURLを用いてHTTPS 通信
Mashiki
php-users@php.gr.jp
Thu, 21 Nov 2002 23:09:48 +0900
Mashikiです。
>curlを用いてhttps://〜のデータを取得したいと考えています。
>そこで、過去ログの6456などを参考にソースを書いてみました。
>しかし、実行したところ、結果が何も表示されません。
>エラーメッセージも表示されません。
>
>普通のhttp://〜のファイルだとちゃんとデータを取得することが出来ました。
>
>これはソースの問題でしょうか、それとも環境の問題でしょうか?
>それとも何か別の原因があるのでしょうか?
>何かアドバイスをいただければ幸いです。
私も以前同じような状況に陥りました。
HTTP + GET
HTTP + POST
HTTPS + GET
ではうまくいくのに
HTTPS + POST
ではどうにやっても結果を得られませんでした。
そのときの環境は
PHP Version 4.2.2
CURL support enabled
CURL Information libcurl 7.9.8 (OpenSSL 0.9.6b)
だったかと思います。
>ソースはこんな感じです。
>--------------------------------------------
>$ch = curl_init();
>curl_setopt ($ch, CURLOPT_URL, "https://www.secure.com/foo.php");
>curl_setopt ($ch, CURLOPT_POSTFIELDS, "var1=aaa&var2=bbb");
>curl_setopt ($ch, CURLOPT_POST, 1);
>curl_setopt ($ch, CURLOPT_SSLVERSION,3);
>curl_setopt ($ch, CURLOPT_HEADER, 0);
>curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
>curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
>
>$result = curl_exec ($ch);
>print ("result=" . $results);
>curl_close ($ch);
私は時間が無かったのと、(最終的にコードが短くなると自分を騙しつつ)
$results = `/usr/bin/curl -3 --connect-timeout 120 -d
'var1=aaa&var2=bbb' 'https://www.secure.com/foo.php'`;
print ("result=" . $results);
な感じで逃げました。せっかくphpをcurl付きでmakeしたのに、
屈辱的だったのですが。
# 山下さんのHPはどこを見ればいいのだろう