PHP:使用基本身份验证从不同的Web服务器下载文件?

时间:2009-08-25 17:25:28

标签: php basic-authentication

我一直在使用PHP一段时间,但我不太高级。我对服务器到服务器的东西没有多少经验。我需要研究与供应商建立数据馈送。我与之交谈过的联系人表示,我将通过基本身份验证使用用户名和密码从服务器下载文件。有人可以告诉我如何做到这一点?

谢谢!

5 个答案:

答案 0 :(得分:2)

包含将此请求标头放在HTTP请求中:


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

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

现在你要把它放在那里将取决于你用来建立这种联系的方法。

答案 1 :(得分:1)

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

然后只使用与操作文件相同的方法,例如。 fread,fgets,fclose等。

答案 2 :(得分:1)

我认为如果他们告诉您“下载文件”,您可能希望实施基于cURL的解决方案: PHP: cURL - Manual

你可以使用Havenard在帖子中列出的标题请求:

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

答案 3 :(得分:0)

它们可能意味着使用SOAP API,此格式使用(通常)用户名/密码+函数调用来从服务获取/发布数据。在php SOAP或nusoap等上搜索。这应该足以让你开始。

然而,我会获得要使用的服务的坚实“名称”。我在这里假设它的SOAP就像我个人用法中最熟悉的那样。

编辑: 除非通过'基本认证',否则它们意味着 http://us.php.net/manual/en/features.http-auth.php

答案 4 :(得分:0)

我认为这个人的意思是像HTTPAuth,当你在浏览器中转到页面时弹出用户名/密码框,并且你需要在加载内容之前提供凭据。

为此,您可以使用CURL。 PHP有一套很好的curl functions来处理这个问题。您需要使用CURLOPT_NETRC选项对其进行配置。