2017-11-02 16 views
-1

は別に、追加の情報を返す私は現在、カール使用してPHPでgifs.comのAPIを使用していますが、私が得る応答は、純粋なJSONPHP、curl_execレスポンスJSON

次のコードは、私がcurl_exec()から取得応答ではなく、

HTTP/1.1 200 OK Server: nginx Date: Thu, 02 Nov 2017 16:34:48 GMT Content- 
Type: application/json Content-Length: 472 Access-Control-Allow-Credentials: 
false Access-Control-Allow-Headers: Origin, Accept,Content-Type,Gifs-API-Key 
Access-Control-Allow-Methods: GET,POST,OPTIONS Access-Control-Allow-Origin: 
* Access-Control-Max-Age: 43200 Request-Id: 942c0be8-0613-4c43-8fc0- 
fbedf62e7008 Via: 1.1 google Alt-Svc: clear 
{ "success": 
    { "page": "https://gifs.com/gif/9QQDvZ", 
     "oembed": "https://gifs.com/oembed/9QQDvZ", 
     "embed": "<iframe src='https://gifs.com/embed/9QQDvZ' frameborder='0' scrolling='no' width='377' height='377' style='-webkit-backface-visibility: hidden;-webkit-transform: scale(1);' ></iframe>", 
     "files": { 
      "gif": "https://j.gifs.com/9QQDvZ.gif", 
      "jpg": "https://j.gifs.com/9QQDvZ.jpg", 
      "mp4": "https://j.gifs.com/9QQDvZ.mp4" } 
     } 
} 

json_decode()私は応答にそれを使用する、と私は余分な文字を削除するためにsubstr()を試みたが、文字の量が変化していきますので、それは一貫していないならば、単にnullを返します

CURLOPT_HEADER => true, 

を出力にHTTPヘッダを含めるようにcurlを伝えること:EDIT以下

は、あなたが使用しているためにですカール設定

$url = 'https://api.gifs.com/media/import'; 
    $headers = array("Gifs-API-Key: willnotbedisplayed", "Content-Type: application/json"); // cURL headers for file uploading 
    $postfields = "{\n \"source\": \"willnotbedisplayed\",\n \"title\": \"guineapig\",\n \"tags\": [\"crazy\", \"hand drawn\", \"2015\", \"art\"],\n \"attribution\": {\n \"site\": \"vine\",\n \"user\": \"someone\"\n }\n}"; 
    $ch = curl_init(); 
    $options = array(
     CURLOPT_URL => $url, 
     CURLOPT_HEADER => true, 
     CURLOPT_POST => 1, 
     CURLOPT_HTTPHEADER => $headers, 
     CURLOPT_POSTFIELDS => $postfields, 
     CURLOPT_RETURNTRANSFER => true 
); // cURL options 
    curl_setopt_array($ch, $options); 
    $server_output = curl_exec($ch); 
+0

カールの設定を追加できますか?例: 'curl_setopt($ handle、CURLOPT_RETURNTRANSFER、true)'を追加しましたか? –

+0

@TVproductions今設定を追加しました – scyclint

答えて

0

です。

それを取り除く。