REST API GET 呼び出しを実行する簡単な方法はありますか? 私は cURL について読んでいますが、それは良い方法ですか?
php://input にも出くわしましたが、使い方がわかりません。誰かが私の例を持っていますか?
高度な API クライアントは必要ありません。特定の URL に対して GET 呼び出しを実行して、クライアントによって解析される JSON データを取得するだけで済みます。
ありがとう!
REST クライアント API 呼び出しを行う方法は複数あります。
CURL は、最も簡単で適切な方法です。ここに簡単な呼び出しがあります
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, POST DATA);
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
これは、「HTTP/1.1 での作業を容易にし、Web サービスを利用する手間を省く PHP HTTP クライアント」です。Guzzle での作業は、cURL での作業よりもはるかに簡単です。
Web サイトの例を次に示します。
$client = new GuzzleHttp\Client();
$res = $client->get('https://api.github.com/user', [
'auth' => ['user', 'pass']
]);
echo $res->getStatusCode(); // 200
echo $res->getHeader('content-type'); // 'application/json; charset=utf8'
echo $res->getBody(); // {"type":"User"...'
var_export($res->json()); // Outputs the JSON decoded data
URL があり、PHP がそれをサポートしている場合は、file_get_contents を呼び出すことができます。
$response = file_get_contents('http://example.com/path/to/api/call?param1=5');
$response が JSON の場合、json_decode を使用してそれを php 配列に変換します。
$response = json_decode($response);
Symfony を使用している場合は、意味のないエラー コードとメッセージを返す代わりに、100 個までの例外をすべて含めてスローする優れた REST クライアント バンドルがあります。
try {
$restClient = new RestClient();
$response = $restClient->get('http://www.someUrl.com');
$statusCode = $response->getStatusCode();
$content = $response->getContent();
} catch(OperationTimedOutException $e) {
// do something
}
Httpful は、HTTP の会話を正常にすることを目的とした、シンプルで連鎖可能で読み取り可能な PHP ライブラリです。開発者は、curl set_opt ページをふるいにかけるのではなく、API との対話に集中でき、理想的な PHP REST クライアントです。
Httpfulには...
元。
GET リクエストを送信します。自動的に解析された JSON 応答を取得します。
ライブラリは、応答内の JSON Content-Type を認識し、応答をネイティブ PHP オブジェクトに自動的に解析します。
$uri = "https://www.googleapis.com/freebase/v1/mqlread?query=%7B%22type%22:%22/music/artist%22%2C%22name%22:%22The%20Dead%20Weather%22%2C%22album%22:%5B%5D%7D";
$response = \Httpful\Request::get($uri)->send();
echo 'The Dead Weather has ' . count($response->body->result->album) . " albums.\n";
以下を使用できます。
$result = file_get_contents( $url );
file_get_contents
fopen ラッパーが有効になっている場合に使用できます。参照: http://php.net/manual/en/function.file-get-contents.php
そうではなく、ホストが許可していないために修正できない場合cURL
は、使用するのに適した方法です。