2017-12-14 21 views
0

私はHTTP RESTFUL APIを使用してjsonファイルを取得しています。私はcURL PHPを使用してapiCredentialsを取得しようとしています、下のコードを参照してください。PHP Laravel cURL APIクッキーが使用されていません

<?php 
     $url = 'http://api.olhovivo.sptrans.com.br/v2.1/Login/Autenticar?token='.$token; 
     $curl = curl_init($url); 


     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curl, CURLOPT_POST, true); 
     curl_setopt($curl, CURLOPT_POSTFIELDS, ""); 

     $cookiesFile = 'cookies.txt'; 
     curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiesFile); 
     curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiesFile); 

     $result = curl_exec($curl); 

     curl_close($curl); 

     echo $result; 

    ?> 

私は結果としてを取得しています。 {"メッセージ": "このリクエストで承認が拒否されました。"}私はそれを使用しようとしています。

私のパブリックフォルダ内にcookie.txtファイルを生成していますが、何らかの理由で使用されていません。

私はAPIで作成されたクッキーを使用できないと思いますが、私はcURLを使用しているかどうかわかりません。

重要かどうかわかりませんが、私もlaravelフレームワークを使用しています。

ありがとうございます。

答えて

0

代わりにトークンをにする必要がありますか?

enter image description here

編集:さて、これは単なるタイプミスだったので、私は私のサーバーからデータを取得する場合、私がチェックしました。私はこのURI上のコンテンツを取得しない(と私はサービスthoを知らない)。 paramsを削除してpostフィールドに入れると、応答が得られます。

$url = 'http://api.olhovivo.sptrans.com.br/v2.1/Login/Autenticar'; 
     $post = ["token" => "asd"]; 

     $ch = curl_init($url); 

     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_POST, true); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); 

     $result = curl_exec($ch); 

     echo $result; 

そして、あなたが得る:{"Message":"No HTTP resource was found that matches the request URI 'http://api.olhovivo.sptrans.com.br/v2.1/Login/Autenticar'."}

いずれかの方法を、サーバがvar_dump(curl_getinfo($ch))に確認し、誤りが、0x200のない返します。だから私はあなたがトークンとして送るかどうかは、ペイロードまたはURIであることに依存していると思う。

+0

返信ありがとう。実際には、これは私がstackoverflowにコードを取得していたときに私は誤植 –

+0

何かの理由で、私はパラメータを削除し、ポストフィールドに入れて、私は "本当の"応答を取得していない同じトークンで受信します。あなたが受け取ったメッセージも受け取ります。 –

関連する問題