2014-10-27 50 views
0

我想打電話給在純PHP的API,但是當我使用的file_get_contents,捲曲,get_header,我有我的Web服務器everithing啓用檢查。(OpenSSL的,延長= php_openssl.dll)HTML的API調用狀態405

我想知道爲什麼這不運行?

使用的file_get_contents

<?php 
    $username = '[email protected]'; 
    $password = 'newnew'; 
    $medium = 'WEB'; 
    $json = file_get_contents("http://new.ezeeinfosolutions.com/busservices/auth/getAuthToken?namespaceCode=demo&[email protected]&password=newnew&devicemedium=WEB"); 
    $array = json_decode($json, true); 
    echo $array; 
    echo $array['status']; // status 
    echo $array['datetime']; // date time 
    echo $array['data']['authToken']; // auth token 
    echo $array['data']['role']['code']; // code 
?> 

輸出: 的file_get_contents(http://new.ezeeinfosolutions.com/busservices/auth/getAuthToken?namespaceCode=demo&username=ram%40demo.com&password=newnew&devicemedium=WEB):未能打開流:HTTP請求失敗! HTTP/1.1 405方法不使用crul在/home/vkacadem/public_html/api/index.php允許第5行

$ch = curl_init("http://new.ezeeinfosolutions.com/busservices/auth/getAuthToken?namespaceCode=demo&username=$username&password=$password&devicemedium=$medium"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
$data = curl_exec($ch); 
curl_close($ch); 
echo $data; 
**0/p: no response?** 

我的API是通過GET方法等待呼叫。

+0

您正在使用HTTP。你爲什麼要檢查openssl? – 2014-10-27 10:10:37

+0

如果不介意,你可以告訴我你什麼時候使用openssl只是爲了這個任務,我搜索了谷歌的一切。我總是保證stackteam – 2014-10-27 10:38:01

回答

0

您需要發佈數據。在發送請求之前添加

curl_setopt($ch, CURLOPT_POST); 

建議:如果您使用的是Chrome,請安裝郵遞員擴展程序。將允許您輕鬆調試此類問題。

+0

[**快速鏈接郵遞員**](http://getpostman.com/) – 2014-10-27 10:34:06

+0

非常感謝我得到了這個{「status」:1,「datetime」:「2014-10- 27 16:00:24「,」data「:{」authToken「:」11656053df210024257eed0ee8373e00e41c025a「,」role「:{」code「:」USER「,」name「:」User「,」activeFlag「:1}}}在這之後,我想包括顯示我的數據json_decode?接下來我要做什麼來顯示數據 – 2014-10-27 10:35:45

+0

json_decode將返回一個可迭代的對象,因此您可以使用foreach的print_r來迭代它,或者只是打印出您感興趣的信息。請參見http:// php。 net/manual/en/function.json-decode.php瞭解更多詳情。不要忘記接受答案;) – motanelu 2014-10-27 10:38:23

0

這些都是你的頭API(http://new.ezeeinfosolutions.com/busservices/auth/getAuthToken?namespaceCode=demo&username=ram%40demo.com&password=newnew&devicemedium=WEB)返回: Response Headers Allow:POST Connection:keep-alive Content-Length:0 Date:Mon, 27 Oct 2014 10:33:02 GMT Server:nginx/1.4.4

這種資源只允許POST方法,所以你需要使用POST的這一請求。

+0

非常感謝您的寶貴答案,如果我理解正確意味着我需要更改表單操作

method =」get「發佈 – 2014-10-27 10:50:42

相關問題