PHP: temel kimlik doğrulaması kullanarak farklı web sunucusundan dosyayı indirin?

5 Cevap php

Ben bir süre için PHP kullanıyorum ama ben de çok gelişmiş değilim. Ben sunucu-sunucu şeylerle çok deneyimi yok. Ben bir satıcı ile bir veri beslemesi kurma araştırma gerekir. Ben konuştum kişi ben temel kimlik üzerinden bir kullanıcı adı ve parola kullanarak bir sunucudan dosya indirirken olacağını söyledi. Birisi bunu nasıl bana bir ara aşağı verebilir misiniz?

Teşekkürler!

5 Cevap

$f = fopen("http://$username:$password@example.com");

sonra sadece, örneğin dosyaları işlemek için olduğu gibi aynı yöntemleri kullanın. fread, fgets, fclose vs

HTTP isteği bu istek başlığını yerleştirmek oluşur:


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

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

Şimdi bunu koymak için gidiyoruz nasıl bu bağlantıyı yapmak için kullandığınız yöntemleri orada bağlıdır.

I think that if they told you to "download a file", you might be looking to implement a cURL based solution: PHP: cURL - Manual

Ve Havenard görevinden listelenen başlık isteği kullanabilirsiniz:

$login = "havenard";
$pass  = "my l33t p4ssw0rd";
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}");

Muhtemelen bir SOAP API kullanarak Yani, bu biçimi kullanır (genellikle) bir kullanıcı adı / şifre + hizmetinden / post verileri almak için işlev çağrısı. Başlamak için size yeterli vermelidir vb php SOAP veya NuSOAP, bir arama yapın.

Ben ancak kullanmak için hizmetin sağlam bir 'isim' olacaktı. Ben onun bu SOAP Ben kişisel kullanım gelen en aşina olduğum budur senin için burada varsayarak yaşıyorum.

Edit: Unless by 'basic authentication' they mean: http://us.php.net/manual/en/features.http-auth.php

Ben kişi tarayıcınızda bir sayfa giderken bir kullanıcı adı / parola kutusu açılır durumdur httpauth gibi bir şey, yani varsayalım ve içerik yüklenmeden önce size kimlik bilgilerini vermek için gerekli demektir.

Bunun için, CURL kullanabilirsiniz. PHP bu işleme için curl functions güzel bir dizi var. Sen CURLOPT_NETRC seçeneği ile yapılandırmanız gerekir.