2012-01-09 2 views
0

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

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

+0

можно сделать с помощью завитка –

ответ

1

Просто создайте форму 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.

0

Измените USER: 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); 
1

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