我使用 PHP 已经有一段时间了,但我并不太先进。我对服务器到服务器的东西没有太多经验。我需要研究与供应商建立数据馈送。我与之交谈的联系人说我将通过基本身份验证使用用户名和密码从他们的服务器下载文件。有人可以告诉我如何做到这一点吗?
谢谢!!
我使用 PHP 已经有一段时间了,但我并不太先进。我对服务器到服务器的东西没有太多经验。我需要研究与供应商建立数据馈送。我与之交谈的联系人说我将通过基本身份验证使用用户名和密码从他们的服务器下载文件。有人可以告诉我如何做到这一点吗?
谢谢!!
包括将此请求标头放在 HTTP 请求中:
$login = "havenard";
$pass = "my l33t p4ssw0rd";
$header = "Authorization: Basic " . base64_encode("{$login}:{$pass}");
现在,您将如何放置它取决于您用于建立此连接的方法。
$f = fopen("http://$username:$password@example.com");
然后只需使用与操作文件相同的方法,例如。fread、fgets、fclose 等
我认为,如果他们告诉您“下载文件”,您可能正在寻求实现基于 cURL 的解决方案: PHP: cURL - Manual
您可以使用 Havenard 在他的帖子中列出的标头请求:
$login = "havenard";
$pass = "my l33t p4ssw0rd";
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}");
他们可能意味着使用 SOAP API,这种格式(通常)使用用户名/密码 + 函数调用来从服务获取/发布数据。在 php SOAP 或 nusoap 等上进行搜索。这应该足以让您开始使用。
但是,我会得到要使用的服务的可靠“名称”。我在这里为您假设它的 SOAP,因为这是我从个人使用中最熟悉的。
编辑:除非通过“基本身份验证”,否则它们的意思是: http: //us.php.net/manual/en/features.http-auth.php
我假设这个人的意思是 HTTPAuth 之类的东西,即当您进入浏览器中的页面时会弹出用户名/密码框,并且您需要在加载内容之前提供凭据。
为此,您可以使用 CURL。PHP 有一组很好的curl 函数来处理这个问题。您需要使用 CURLOPT_NETRC 选项对其进行配置。