php процесс http аутентификация - PullRequest
0 голосов
/ 09 января 2012

У меня есть сервер, который запрашивает http-аутентификацию, прежде чем он выдаст персонализированные результаты json.

Как мне написать скрипт php, который запускается в другом окне, чтобы запросить аутентификацию, передать его и получить результаты?

Ответы [ 3 ]

1 голос
/ 10 января 2012

Просто создайте HTML-форму с вводом логина и пароля, а затем получите данные с помощью cURL.

$curl = curl_init('http://example.com/api');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, $_POST['login'].':'.$_POST['password']);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

$response = curl_exec($curl);

Если вы хотите быть более «интерактивным», попробуйте добавить AJAX.

1 голос
/ 10 января 2012

убедитесь, что это происходит с SSL. в противном случае любой может украсть ваши незашифрованные учетные данные.

0 голосов
/ 10 января 2012

Изменить ПОЛЬЗОВАТЕЛЬ: PASS, чтобы быть именем пользователя и паролем, и измените URL на свой URL.Возвращаемое значение в $ jsonStr.

// create a new cURL resource
$ch = curl_init();

// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");

// Puts return in variable rather than the browser
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "USER:PASS");

// grab URL and pass it to the variable
$jsonStr = curl_exec($ch);

// close cURL resource, and free up system resources
curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...