PHPサーバー側はAPI原理分析を使用します
今回は、PHP サーバー側で API を使用する際の原則についての分析をお届けします。PHP サーバー側で API を使用する際の 注意事項 は何ですか?実際のケースを見てみましょう。
タオバオ API、WeChat パブリック プラットフォーム、天気クエリ、エクスプレス クエリなど、データを取得するために PHP リクエスト API インターフェイスを誰もが実行したことがあると思います。中には、署名アルゴリズムに従って標識を構築するためにインターフェイス ドキュメントを参照する必要があるものもあります。または、トークンを設定して、POST リクエストを介して送信し、通常は json または xml 形式で戻りデータを取得します。
しかし、現在は状況が逆転しています。PHP サーバー側 API インターフェイスを開発する必要があります。つまり、他のユーザーからリクエストがあったときに、リクエストの正当性を検証してクエリ データを返す必要があります。 この状況は、モバイル アプリ開発で実際に使用されます。モバイル APP アプリケーションでは、データを取得するために PHP インターフェイスをリクエストする必要があることがよくありますが、通常、このリクエストはさまざまな関数に応じて要求されます。データを直接取得するには get メソッドを使用します。この記事では、サーバー側でリクエストの正当性を検証する方法とパラメータを受け取る方法について簡単に説明します。
単純な get リクエスト 例: http://www.demo.com/api/get_cat?id=2。この URL をリクエストすると、誰がどのプログラミング言語を使用しても、データを取得できます。 。
したがって、合法性を検証する必要がある場合、これは明らかに不可能です。したがって、このとき、URL のリクエストには POST が使用されることがよくあります。 たとえば、渡されたパラメータに署名記号があり、その値が 98888 であるとします。もちろん、署名を生成する方法はたくさんありますが、ここでは単純に署名を記述するだけです。その後、サーバーは署名を受け取ります。 98888 が合法であることに当社が同意する場合、現時点では、標識が 98888 であるかどうかを判断することで、これが正当なリクエストであることを確認できます。 しかし、これは単純すぎて、突然破られてしまい、この標識を設定したことは意味がありません。したがって、要求時に署名パラメータがこのルールに従って生成され、サーバーがそれを受信すると、生成された署名が一致している場合には、このルールに従って署名が生成されます。法的な要請です。各リクエストには検証用のサインが添付されます。 トークンと呼ばれる別の種類の検証があります。トークンは最初のリクエストを行うときに検証されます。一定期間内に再度検証する必要はありません。これには 2 つの手順が必要です。最初の手順では、トークンを取得するためのインターフェイスをリクエストし、トークンを取得します。2 番目の手順では、特定のインターフェイスの機能をリクエストし、パラメーターを渡すためにトークンを取得する必要があります。サーバーは、最初にトークンを要求したときにトークンを格納してからそれを返すため、後続の要求では、渡されたトークンが存在するかどうかを確認できます。 多くのインターフェイス開発者は、プライバシーとセキュリティを確保するために両方の方法を使用しています。 もう 1 つのポイントは、PHP の CURL モジュールが POST リクエストの送信によく使用されることです。たとえば、相手は、curl,curl_setopt($ch, CURLOPT_POSTFIELDS、$post_string)、$post_string は PHP 配列で渡すのが良いでしょうか、それとも JSON 形式で渡すのが良いでしょうか? PHP配列の場合は$_POST['xx']で直接パラメータを取得します。json形式の場合はfile_get_contents('php://input', 'r')を使用して取得します。 json データを渡し、json を解析してパラメータを取得します。
2つ目はいつ使用すればよいですか?
これは以前にオンラインで質問されたものです。みんなの反応を見てみましょう:
PHP の場合、JSON と配列の違いは 1 行のコードにすぎない場合があります。私が記述する場合は、最初のコードだけを使用することがあります。 コードをより簡潔にしたい場合は、2 番目のものを使用するとよいと思います。Weixin の php SDK は 2 番目のものに似ていると思います (もちろん XML 形式です)。 また、相手がオブジェクト指向
を使ってjsonを直接シリアル化している場合、jsonを使った方がコードが簡潔になります。 最初の方法 は、POST プロトコルでフォームを送信することで、PHP 配列を言語間で共通の HTTP フォーム形式に変換します。ただし、これは主流の API プロトコルではなく、シミュレートされたものに似ています。提出フォーム。
ほとんどの API プロトコルは JSON POST を使用します。2 番目の方法は、JSON データを HTTP ボディに配置することです。また、言語をまたいで使用できますが、API としてはよりユーザーフレンドリーです。
1つ目は、PHPのcurlを直接使用する方法です。データの内容がうまく処理できず、@/xxx/xxxのような内容が配列値に渡されると、curlはサーバー上のローカルファイルを転送してしまうので注意してください。
x-www-form-urlencoded は RFC 標準であり、互換性のないものは何もなく、言語間だけでなく、時間と空間を超えて互換性があります。 JSON は近年開発されたものであり、標準ではありません。 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨書籍:
以上がPHPサーバー側はAPI原理分析を使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
