2015-10-14 133 views
0

我建設,需要使用API​​的,在使用OAuth的具體一個新應用程序的API訪問數據,而是開始與我試圖只使用一個簡單的API總結我的周圍如何在應用程序中使用一個頭,我以前從未使用過的API。學習如何使用狂飲

我跑在我的本地安裝了Guzzle庫新鮮Laravel 5.1項目。

按照來自Guzzle documentation的指示,我相信我已經設定好了,但我無法對我得到的迴應做出正面或反面的評論。

我試圖使用的API是,提出請求的格式是freegeoip.net/{format}/{IP_or_hostname}

我已經建立了一個頁面,在這裏我可以輸入一個IP地址,並提交這一點,它隨後被在我的控制器下面的函數運行:

public function retrieve(Request $request) 
    { 
     $url = "http://freegeoip.net/json/" . $request->ipaddress; 
     $client = new Client(); 
     $response = $client->request('GET', $url); 
     dd($response); 
    } 

我的路線,一切都設置正確,和我在我的控制器的頂部引用狂飲:

use GuzzleHttp\Client; 

但我從dd($response);得到的迴應沒有任何意義,我或給任何提示,我怎麼能得到的任何信息從中。

這就是dd($response)輸出

Response {#195 ▼ 
    -reasonPhrase: "OK" 
    -statusCode: 200 
    -headers: array:8 [▶] 
    -headerLines: array:8 [▶] 
    -protocol: "1.1" 
    -stream: Stream {#186 ▶} 
} 

但是當我通過我的瀏覽器中運行對應的網址,我得到

{"ip":"202.21.xxx.xxx","country_code":"NZ","country_name":"New Zealand","region_code":"WGN","region_name":"Wellington","city":"Wellington","zip_code":"6011","time_zone":"Pacific/Auckland","latitude":-41.283,"longitude":174.784,"metro_code":0} 

誰能幫幫忙我在做什麼錯誤或指向一些關於如何開始使用Laravel使用API​​的好資源。有很多關於如何建立一個Laravel API而不是如何從Laravel訪問之一。

回答

1

好一個巨大的挖掘量之後,原來我只是缺少json_decode()

public function retrieve(Request $request) 
    { 
     $url = "http://freegeoip.net/json/" . $request->ipaddress; 
     $client = new Client(); 
     $response = $client->request('GET', $url); 
     dd(json_decode($response->getBody())); 
    } 

回答這個爲別人誰擁有在未來:)這樣的麻煩:當我運行它喜歡

請求工作正常。