[PHP-users 16207]Re: PROXYサーバを経由してHTTP PUT,DELETE

kenbooit @ excite.co.jp kenbooit @ excite.co.jp
2003年 6月 24日 (火) 23:37:05 JST


枡形さん、お返事ありがとうございました。

実は今回はいつもよりも頑張ってマニュアルも英語から何からかたっぱしから読んでみました。
proxyをキーワードにして検索もかけ色々と情報があることも分かりました。

で、実は下記のようなプログラムを質問する前に書いてみたのですが、
存在しないファイルにも関わらず、
削除しました、と言われてしまい上手くいかなかったのです。

このプログラムは
存在しないファイルの場合には失敗するようにしてあって、
プロキシ経由でない時は、実際にうまくいっていました。

$url = "http://hogehoge.co.jp/test.txt";
$user_agent = "Mozilla/4.0";
$proxy = "http://192.168.0.1:8080";

$ch = curl_init ($url);

curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
curl_setopt ($ch, CURLOPT_VERBOSE, 1 );
curl_setopt ($ch, CURLOPT_NOPROGRESS, 1);
curl_setopt ($ch, CURLOPT_FAILONERROR, 1 );
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE" );

curl_exec   ($ch);

if (curl_error($ch) != "") {
 print("失敗");
 curl_close($ch);
}

自分の中で疑わしいところは
プロキシに接続できないと、そもそも$urlにはアクセスできないにも関わらず、
先に
$ch = curl_init ($url);
しているところです。

そこで
$ch = curl_init ($url);
は2ついるんじゃないかと想像しています。

//proxy接続時
$ch = curl_init ();
//HTTP PUT時
$ch2 = curl_init ($url);

きっと全然おかしいのかもしれないのですが、
今晩頑張って色々と試行錯誤してみます。

いつも本当にありがとうございます。
一度ぐらいは自分で解決できるように頑張ってみます。


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