PHP: Загрузить файл с другого веб-сервера, используя обычную аутентификацию? - PullRequest
0 голосов
/ 25 августа 2009

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

Спасибо !!

Ответы [ 5 ]

2 голосов
/ 25 августа 2009

Состоит в размещении этого заголовка запроса в HTTP-запросе:


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

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

Теперь, как вы это сделаете, будет зависеть от методов, которые вы используете для этого соединения.

1 голос
/ 25 августа 2009

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

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

$login = "havenard";
$pass  = "my l33t p4ssw0rd";
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}");
1 голос
/ 25 августа 2009
$f = fopen("http://$username:$password@example.com"); 

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

0 голосов
/ 25 августа 2009

Я предполагаю, что этот человек имеет в виду что-то вроде HTTPAuth, то есть когда при переходе на страницу в вашем браузере появляется окно с именем пользователя / паролем, и вам необходимо предоставить учетные данные перед загрузкой контента.

Для этого вы можете использовать CURL. PHP имеет хороший набор функций curl для обработки этого. Вам нужно будет настроить его с параметром CURLOPT_NETRC.

0 голосов
/ 25 августа 2009

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

Однако, я бы получил твердое «имя» службы для использования. Здесь я предполагаю, что именно SOAP именно таков, с чем я больше всего знаком в личных целях.

Edit: Если под «базовой аутентификацией» они не подразумевают: http://us.php.net/manual/en/features.http-auth.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...