今日紹介するのはsocketを使ってGETとPOSTリクエストを送信する方法です。 Yan Shiba 教師によってカプセル化された Http クラスを使用して説明します。
日常のプログラミングでは、私と同じように、ほとんどの場合ブラウザを使用してサーバーにGETおよびPOSTリクエストを行うことが多いと思いますが、他の方法を使用してGETおよびPOSTリクエストを行うことはできますか?答えは「はい」でなければなりません。 HTTP プロトコルを知っている人なら誰でも、ブラウザがリクエストを送信する本質は、リクエスト情報をサーバーに送信することであることを知っています。このリクエスト情報は、リクエスト行、リクエスト ヘッダー、およびリクエスト本文 (オプション) で構成されます。サーバーはリクエスト情報に基づいてレスポンス情報を返します。接続を解除します。
HTTP リクエストの形式は次のとおりです:
リーリーHTTP レスポンスの形式はリクエストの形式と非常に似ています:
リーリーHTTP の原理を利用してリクエストを送信することができ、ソケットを使用して HTTP リクエストを送信することを再考することもできます。
Socketの本来の英語の意味は「穴」または「ソケット」です。一般に「ソケット」とも呼ばれ、IP アドレスとポートを記述するために使用され、通信チェーンへのハンドルであり、異なる仮想マシンまたは異なるコンピューター間の通信を実装するために使用できます。インターネット上のホストは通常、複数のサービス ソフトウェアを実行し、複数のサービスを同時に提供します。各サービスはソケットを開き、異なるポートに異なるサービスに対応します。この観点から見ると、ソケットを使用してリモート ファイルを操作することは、ローカル ファイルを読み書きするのと同じくらい簡単です。ローカル ファイルはハードウェアを介して送信され、リモート ファイルはネットワーク ケーブルを介して送信されると考えてください。
したがって、リクエストの送信は、接続を確立することとみなされます -> ソケットインターフェイスを開く (fsockopen()) -> 書き込みリクエスト (fwrite()) -> 読み取り応答 (fread() -> ファイルを閉じる (fclose) ()) さっそくコードに進みましょう:
リーリーこのクラスを使用して、単純な GET リクエストを送信します。
リーリー 戻り値は情報であり、応答情報をさらに加工して欲しい内容を取得することができます。
次の具体的な例を見てみましょう
リーリー