人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

アフィリエイトに使用する商品データとして、あるECサイトからCSVデータを取得できることになりました。
http://○○○.net/○○/item.csvで、
画像をこちらに置きました。こんな画面です。
「http://f.hatena.ne.jp/images/fotolife/m/miipa/20091031/20091031221740_120.jpg」
のように、ユーザー、パスワードを聞いてきます。正しく認証できないと、「401 Authorization Required」が表示されます。
もちろん、手で入力すればログインできて目的のデータを取得できるのですが、
php+cronにて自動でデータを取得したいので、phpでデータを取得する記述方法を教えてください。

1256996267
●拡大する

●質問者: miipa
●カテゴリ:ウェブ制作
✍キーワード:.NET CSV http:// PHP アフィリエイト
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● hato0013
●200ポイント ベストアンサー

http://pear.php.net/manual/ja/package.http.http-request.php

PEARのHTTP_Requestを使うと簡単に実現できますね。

◎質問者からの返答

phpとcronでそのサイトにいって、ユーザーIDとパスワードを自動で入力するということが、このHTTP_Requestでできるのでしょうか?

具体的に動かし方を書いてもらえるとありがたいです。

よろしくお願いいたします。

もしかしたら、自分が認証画面を作成する側としてのpearじゃなかったですか?


2 ● sirotugu40
●10ポイント

phpでベーシック認証

http://www.bnote.net/php/php/22_basic_auth.shtml

◎質問者からの返答

このサイトもあちらこちらでよく見たので、理解しようとしたのですが、自分なりに理解したところでは、自分が認証するサイト側の情報じゃないでしょうか?

もし、この情報で、私のやりたいことができるのなら、再度教えてください。

それとも私の質問の仕方が悪いかもしれませんが。


3 ● hato0013
●200ポイント

> phpとcronでそのサイトにいって、ユーザーIDとパスワードを自動で入力するということが、このHTTP_Requestでできるのでしょうか?

できます。

> もしかしたら、自分が認証画面を作成する側としてのpearじゃなかったですか?

違います。

> 具体的に動かし方を書いてもらえるとありがたいです。

先ほどのリンク(http://pear.php.net/manual/ja/package.http.http-request.php)のBasic 認証のページを参照ください。

下記、一部抜粋です。

require_once "HTTP/Request.php";

$req =& new HTTP_Request("http://example.com/protected.html");
$req->setBasicAuth("johndoe", "foo");

$response = $req->sendRequest();

if (PEAR::isError($response)) {
 echo $response->getMessage();
} else {
 echo $req->getResponseBody();
}
◎質問者からの返答

エックスサーバですが、pearの使い方が良くわからないので、直接pearを使用します。

e HTTP_Requestは古いので、HTTP_Request2

エラーが出たので、Net_URL2をダウンロードして使用しました。

しかし、$req->setBasicAuth("johndoe", "foo");の部分を確かに、ID、パスワードとしましたが、

Fatal error: Call to undefined method HTTP_Request2::setBasicAuth()

とエラーメッセージが出ます。

そもそもベーシック認証かどうかはどう判定すればいいのですか?


4 ● HALSPECIAL
●10ポイント

>そもそもベーシック認証かどうかはどう判定すればいいのですか?

レスポンスヘッダで判断できると思います。

FireFoxであればLive HTTP Headers等のプラグインで確認できます。


賢者の漬け物石: Basic認証とDigest認証のヘッダ

【Basic認証のヘッダ】

WWW-Authenticate: Basic ・・・

【Digest 認証のヘッダ】

WWW-Authenticate: Digest ・・・

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ