www.webdeveloper.com
Results 1 to 3 of 3

Thread: How I can call restful web services efficiently

  1. #1
    Join Date
    May 2013
    Posts
    1

    How I can call restful web services efficiently

    My code is as follow

    I need to use this code to fetch data from web service and show them in a site properly but after I request for the webservice I am unable to load them fast. Site is loading very slow.
    PHP Code:
    <?php

    $jRequestURLPrefix 
    'http://demo.4ds.com/rema/1.1/';

    $menu_json_url  $jRequestURLPrefix."rules/origins/b2c.json";

    $menu_data      get_json_data($menu_json_url);

    /* Function get_json_data definition */

    function get_json_data($json_url$return_array true$print_array false$curl true )
    {
        
    $jsonString '';
        
    $data       = array();
        if (!
    $curl)
        {
            
    /*
             *  if !$curl, use "file_get_contents" method
             *  to get JSON encoded string
            */
            
    $jsonString file_get_contents($json_url);

        }
        else
        {
            
    /*
             *  if $curl, use "curl" method
             *  to get JSON encoded string
            */

            // Initializing curl
            
    $ch curl_init$json_url );

            
    // Configuring curl options
            
    $options = array(
                
    CURLOPT_RETURNTRANSFER => true,
                
    CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
            );

            
    // Setting curl options
            
    curl_setopt_array$ch$options );

            
    // Getting JSON encoded string
            
    $jsonString =  curl_exec($ch); 
        }


        
    // convert the JSON encoded string into a PHP variable(array)
        //if($return_array)
            
    $data json_decode($jsonString$return_array);

        
    // $print_array == true, print the array
        
    if($print_array)
        {
            echo 
    '<pre>';
            
    print_r($data);
            echo 
    '</pre>';
        }

        return 
    $data;

    }

    ?>
    After using the above procedure I am getting the response very slow. Can anyone please help If I need to change any steps here
    Last edited by NogDog; 05-04-2013 at 11:42 AM. Reason: added [php] tags around code

  2. #2
    Join Date
    Feb 2013
    Location
    USA
    Posts
    40
    Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, It is extremely helpful for me.

  3. #3
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,227
    It takes about 1 second to respond running it locally on my PC, which seems pretty decent. If it's taking significantly longer for you, I would guess either it's some other part of the script that's the problem, or it's a network issue (e.g. where you are running it is a lot of network hops away from the web host you are calling for the data, and/or one of those hops is very slow).

    PS: Welcome to the forum, and future posts please remember to make use of this board's [php], [html], and [code] bbcode tags around your code sample.
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles