2017-05-02 8 views
0

사전 시작 자습서에 따라 302 서버에서 오류을 발견했습니다. 열쇠는 신이며 모든 허락을 받았습니다.Prestashop webservice 302 localhost에서 오류가 발생했습니다

아이디어가 있으십니까?

// Here we define constants /!\ You need to replace this parameters 
define('DEBUG', true);           // Debug mode 
define('PS_SHOP_PATH', 'http://127.0.0.1/mystore/prestashop/');  // Root path of your PrestaShop store 
define('PS_WS_AUTH_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'); // Auth key (Get it in your Back Office) 
require_once('./PSWebServiceLibrary.php'); 

// Here we make the WebService Call 
try 
{ 
    $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); 

    // Here we set the option array for the Webservice : we want customers resources 
    $opt['resource'] = 'customers'; 

    // Call 
    $xml = $webService->get($opt); 

    // Here we get the elements from children of customers markup "customer" 
    $resources = $xml->customers->children(); 
} 
catch (PrestaShopWebserviceException $e) 
{ 
    // Here we are dealing with errors 
    $trace = $e->getTrace(); 
    if ($trace[0]['args'][0] == 404) echo 'Bad ID'; 
    else if ($trace[0]['args'][0] == 401) echo 'Bad auth key'; 
    else echo 'Other error'; 
} 

답변

1

HTTP 상태 코드 302는 리디렉션이므로 인증서 문제로 인해 발생하지 않을 수 있습니다. 내 처음에는 URL에 /를 추가해야한다고 추측합니다. 일부 HTTP 서버 프레임 워크는 대신, 자원이 /로 끝나지 않는 경우 리디렉션, 그래서 것 :이 자원이 인증을 요구하고 서버가 로그인 페이지로 리디렉션되는

GET /endPoint 

Try 

GET /endPoint/ 

다른 가능성이다. 무슨 일이 일어나고 있는지 알고 싶다면 302에 대한 응답 헤더를 살펴보십시오. 서버가 사용자가 원하는 곳을 알려주는 위치 헤더가 있습니다.