2016-01-05 3 views
-1

Пытается получить доступ к api с запросом php curl get. Чтобы получить запрос на работу, я должен сначала выполнить аутентификацию с помощью запроса на отправку, в основном, для входа на платформу. Я получаю правильный ответ от почтового запроса, но я не могу получить запрос на получение для меня работы. Вот мой код:PHP Curl Получить запрос с ошибкой номер 3, url malformed

<?php 

    $login_url = "https://publisher-api.company.com/1.0/Publisher/Login"; 
    $user_pswd = array(
    "username" => "username1", 
    "password" => "password1" 
); 

    $report_url = "https://publisher-api.company.com/1.0/Publisher(#####)/Channels/RevenueReport"; 

    function httpGet($url) 
    { 
    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    // curl_setopt($ch, CURLOPT_HEADER, true); 

    $output = curl_exec($ch); 

    if($output === false) 
    { 
     echo "Error Number:".curl_errno($ch)."<br>"; 
     echo "Error String:".curl_error($ch); 
    } 
    echo $output; 

    } 

    function httpPost($url_post, $params, $url_get) 
    { 
    foreach($params as $key=>$value) { $params_string .=$key.'='.$value.'&'; } 
    rtrim($params_string, '&'); 

    $ch = curl_init(); 

    curl_setopt($ch, CURLOPT_URL, $url_post); 
    curl_setopt($ch, CURLOPT_POST, count($params)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string); 

    $result = curl_exec($ch); 
    echo $result; 

    httpGet($url_get); 

    curl_close($ch); 
    } 

    httpPost($login_url, $user_pswd, $report_url); 

?> 

Это выход, который вторит из:

{"value":{"publisher":{"active":"1","publisher_id":"#####"}}}1{"error":{"code":"SYSTEM.SERVICE.NOT_AUTHORIZED","message":"You are not authorized to use this service. Authenticate first."}} 

ответ

1
  1. Установите error_reporting(E_ALL) в верхней части страницы

  2. Когда вы звоните httpGet($urlG);, $urlG в рамках функции, указанной под номером httpPost()

  3. # 1 помешали бы # 2

  4. Мои глаза кровоточат на месте $uurl, pparams и т.д ... Пожалуйста, эти имена переменных более осмысленным

+0

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

+1

@bpr Не обидно. Просто хочу, чтобы вы забрали лучшие привычки, особенно пока вы все еще учитесь. – MonkeyZeus

+0

получил некоторые лучшие привычки, пожалуйста, прекратите кровотечение! – bpr

Смежные вопросы