2009-08-25 5 views
0

Я использую PHP некоторое время, но я не слишком продвинутый. У меня нет большого опыта работы с сервером. Мне нужно исследовать настройку фида данных с поставщиком. Контактное лицо, с которым я разговаривал, сказал, что я загружу файл со своего сервера, используя имя пользователя и пароль с помощью базовой проверки подлинности. Может кто-нибудь, пожалуйста, дайте мне понять, как это сделать?PHP: Загрузить файл с другого веб-сервера с использованием базовой аутентификации?

Спасибо!

ответ

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

тогда просто используйте те же методы, что и для манипулирования файлами, например. Fread, fgets, fclose и т.д.

+0

Я использовал это, но с cURL. –

0

Возможно, это означает использование SOAP API, этот формат использует (обычно) вызов имени пользователя/пароля + функции для получения/отправки данных из службы. Выполняйте поиск по php SOAP или nusoap и т. Д. Это должно дать вам достаточно для начала работы.

Тем не менее, я получал твердую «имя» используемой службы. Я предполагаю, что для этого SOAP это то, что мне больше всего известно из личного использования.

Edit: Если только от «базовой аутентификации» они означают: 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

Я думаю, что если бы они сказали вам «скачать файл», вы можете искать, чтобы реализовать решение, основанное Скручивание PHP: cURL - Manual

И вы можете использовать запрос заголовка что Havenard указан в его должности:

$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 
Смежные вопросы