2015-01-25 4 views
0

이것은 나를 미치게하여 도움이되기를 바라고 있습니다.POST 결과 XML 결과 가져 오기 PHP의 기본 인증

PHP를 통해 HTTP 기본 인증을 사용하여 XML 페이지에 사용자 정보를 게시 한 후 인증 토큰을 얻으려고합니다. 토큰은 XML로 반환되어야합니다. 나는 이것을 위해 컬을 사용하고있다.

PHP를 실행할 때 오류가 전혀 발생하지 않지만 단순히 토큰을 얻을 수 없습니다. 빈 페이지가 생겼어.

<?php 

$username ='abc'; 
$password = 'xyz'; 

$user_token = base64_encode($username . '-' . $password); 

$target_url = 'https://url_example/users/sign_in.xml'; 

$ch = curl_init($target_url); 

curl_setopt($ch, CURLOPT_POST, true); 

$headers = array('Authorization=Basic ' . $user_token); 

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); 

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 

$response_data = curl_exec($ch); 
$xml = simplexml_load_string($response_data); 
print_r($xml); 

if (curl_errno($ch)> 0){ 
die('There was a cURL error: ' . curl_error($ch)); 
} else { 

curl_close($ch); 
} 

?> 

답변

0

가 있어야한다 :

가 여기 내 PHP 코드 없습니다 - 이

$process = curl_init("https://url_example/users/sign_in.xml"); 
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $headers)); 
curl_setopt($process, CURLOPT_HEADER, 1); 
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password); 
curl_setopt($process, CURLOPT_TIMEOUT, 30); 
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE); 
$return = curl_exec($process); 
curl_close($process); 
+0

당신이 무엇을 제안 시도하려고합니다. 지금 응답을 받았지만 인증 토큰을받지 못했습니다. 여기에 응답을 붙여 넣으려고했으나 허용되는 주석의 길이가 너무 길었습니다. –

+0

당신은 붙여 넣기에 붙여 넣을 수 있습니다 그래서 붙여 볼 수 있습니다 – nani