2013-05-18 3 views
0

example.com URLCURL JSON ЗАПРОС КАК ПОЛУЧИТЬ

Я называю этот адрес, но получить jsonCallback ({ "ERROR": "6"}); Не можете понять, что это? Googling много раз за ошибку, но не смог найти ничего полезного. это веб-сайт, позвонив по этому URL-адресу. Я получу прайс-лист. Когда я вызываю это с самого сайта, я получаю данные правильно. но всякий раз, когда я собираюсь скопировать http-запрос и вставить его в url, он показывает ошибку.

Ниже мой запрос CURL:

<?php 

    class CURL { 
    var $callback = false; 

function setCallback($func_name) { 
    $this->callback = $func_name; 
} 

function doRequest($method, $url, $vars) { 
    $headers=array(); 
    $headerVar=0; 
    $headers[$headerVar]='Content-Type: text/javascript; charset=UTF-8';  
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    //curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
    if ($method == 'POST') { 
     curl_setopt($ch, CURLOPT_POST, 1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); 
    } 
    $data = curl_exec($ch); 
    curl_close($ch); 

    echo '<br><br>'.curl_error().'-----'.curl_error(); 
    return $data; 

    if ($data) { 
     if ($this->callback) 
     { 
      $callback = $this->callback; 
      $this->callback = false; 
      return call_user_func($callback, $data); 
     } else { 
      return $data; 
     } 
    } else { 
     return curl_error($ch); 
    } 
} 

function get($url) { 
    return $this->doRequest('GET', $url, 'NULL'); 
} 

function post($url, $vars) { 
    return $this->doRequest('POST', $url, $vars); 
} 
    } 


     function stringParameter($array) { 
    $post_items=array(); 
    foreach ($array as $key => $value) { 
     $post_items[] = $key . '=' . $value; 
    } 
    //create the final string to be posted using implode() 
    $post_string = implode ('&', $post_items); 
    return $post_string; 
     } 

    function build_http_query($query){ 

    $query_array = array(); 

    foreach($query as $key => $key_value){ 


     if($key_value != ''){ 
      $query_array[] = urlencode($key) . '=' . urlencode($key_value); 
     }else { 
      $query_array[] = urlencode($key) . '=' . $key_value ; 
     } 
    } 

    return htmlspecialchars(implode('&', $query_array)); 

    } 

     list($usec, $sec) = explode(" ", microtime()); 
     $time13 = sprintf('%d%03d', $sec, $usec/1000); 

     $data = 
    array(
     "brand" => "PERODUA", 
     "model" => "VIVA 1.0", 
     "gender" => "Male", 
     "md_age" => '35', 
     "marital_status" => "Married", 
     "car_age" => '8', 
     "ncd" => '0', 
     "data" => 
         array(
         "car_data" => array( 
                  "make"=>"PERODUA", 
             "model"=>"VIVA 1.0", 
             "year_of_manufacture"=>"2004", 
             "offpeak"=>"yes"  
            ), 
         "drivers_data" => array( 
             "driver_1"=> array(
               "gender"    => "Male", 
               "marital_status"  => "Married", 
               "date_of_birth"   => "22/3/1978", 
               "year_driving_license" => "1999", 
               "ncd"     => "0", 
               "occupation"   => "ZADM: Indoor Office/Exec/Admin Staff", 
               "relationship"   => " " 
             )  
            ), 
         "discount_data" => array(
             "certificate_of_merit" => false 
            ), 
         "claims_data" => array(
             "have_claims" => "no", 
             "claims_number" => "0", 
             "claims_amount" => "0" 
            ), 
         "product_data" => array(
             "plan" => null, 
             "price" => null, 
             "policy_start"=> "1/5/2013", 
             "policy_end"=> "30/4/2014", 
              "ncd"=> false, 
              "excess"=> null 
            )      
         ) 
     );    

    $encode = build_http_query($data); 
$url = 'https://example.com/price?callback=jsonCallback&'.$encode; 
$obj = new CURL(); 
echo $ppp = $obj->get($url); 


?> 

Если вам нужен оригинальный URL, я могу дать его вам. Но до этого дайте мне знать, если я ошибаюсь в отправке данных в eurl, как написано в json. Пожалуйста, помогите мне. Это очень срочно.

ответ

0

{ «ERROR»: «6»} сообщение пользовательское ответное сообщение об ошибке с помощью https://axasingaporemotor.appspot.com/price

Вам нужно будет связаться с владельцем этого URL, чтобы понять, что они означают ошибки 6.

+0

Это реальный URL: https:?. //axasingaporemotor.appspot.com/price обратного вызова = jsonCallback &»$ закодировать; Пожалуйста сделайте что-нибудь. – user2396378

+0

У вас есть код на стороне сервера (на axa ... appspot.com) - на котором запущен App Engine. Именно этот код возвращает вам любое сообщение об ошибке, и оно находится в их домене для отладки проблемы. (поскольку ошибка 6 определяется ими, а не то, что общественность будет понимать). Без доступа к исходному коду вы можете обратиться за помощью к своему владельцу. Я отредактирую свой ответ ~ –

+0

Я знаю это, но, пожалуйста, просмотрите мой urlencode. Имеет ли какая-либо ошибка при отправке на этот URL-адрес? – user2396378

0

Попробуйте использовать build_http_query но http_build_query вместо

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