2009-08-25 7 views
0

私はしばらくの間PHPを使用していますが、あまりにも進んでいません。私はサーバー間の情報をあまり経験していません。ベンダーとのデータフィードの設定を研究する必要があります。連絡先の担当者は、基本認証でユーザー名とパスワードを使用してサーバーからファイルをダウンロードすると述べました。誰かが私にそれをする方法を打ち破ってくれますか?PHP:基本認証を使用して別のWebサーバーからファイルをダウンロードしますか?

ありがとうございます!

答えて

1
$f = fopen("http://$username:[email protected]"); 

次に、ファイル操作の場合と同じ方法を使用してください。関数fread、関数fgets、fcloseの、など

+0

私はこれをcURLで使用しました。 –

0

おそらくSOAP APIを使用することを意味します。この形式では、通常、ユーザー名/パスワード+関数呼び出しを使用してサービスからデータを取得/ポストします。 php SOAPやnusoapなどで検索してください。これで十分です。

しかし、私は使用するサービスの堅実な「名前」を得るでしょう。私はあなたのためにそのSOAPが私が個人的な使用法に最も慣れ親しんでいるものと仮定しています。

編集: 「基本認証」で、彼らは意味のない限り、 http://us.php.net/manual/en/features.http-auth.php

2

は、HTTPリクエストでこのリクエストヘッダを配置して構成されています


$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 

$header = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 

今、あなたはそこにそれを置くつもりだ方法この接続を行うために使用している方法によって異なります。

0

私は人がブラウザのページに行くときにユーザー名/パスワードボックスがポップアップし、コンテンツが読み込まれる前に資格情報を与える必要があるというHTTPAuthのようなものを意味すると想定します。

このため、CURLを使用できます。これを処理するために、PHPにはcurl functionsという素晴らしいセットがあります。 CURLOPT_NETRCオプションを使用して設定する必要があります。

1

私は、彼らが「ファイルのダウンロード」するためにあなたに言ったならば、あなたはcURLのベースのソリューションを実装するために探しているかもしれないと思う: PHP: cURL - Manual

をそして、あなたはヘッダー要求を使用することができます彼の投稿に掲載されているHavenard:

$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 
関連する問題