このブログ投稿では、「php はソケットを使用して GET リクエストと POST リクエストを送信する」ことを前提としています。コメントを送信する方法を検討するには、上でカプセル化された Http クラスを使用する必要があります。 php スクリプトを使用してブログ パークに投稿します。
原則:
これを行う前に、ブログ投稿にコメントを送信する本質は、http プロトコル サーバーを介して投稿リクエストを送信することであることをまず理解する必要があります。コメントを投稿する前に何をする必要がありますか?はい、ログインする必要があります。ただし、ログインについては別の問題なので、ここでは説明しません。ユーザーがログインすると、サーバーはクライアントに Cookie を設定します。 http はステートレスです。つまり、クライアントがサーバーにリクエストを送信した後、サーバーは応答を返します。 1回の通信が完了します。サーバーは、誰が自分自身にリクエストを送信したかを覚えていません。したがって、クライアントは、サーバーによって設定された Cookie を使用してサーバーにリクエストを送信し、サーバーにその ID を通知する必要があり、サーバーは Cookie に基づいて応答を生成します。原理は非常にシンプルなので、実践的な部分を見てみましょう。
準備:
このテストを完了するために、別のブログアカウント(DeanHuangChopper)を登録しました。ブログパークにログインした後、私のブログ(DeanChopper)を開き、「PHPを組み合わせたバッファリングメカニズムを理解する」などのブログ投稿の1つをランダムに開きます。 OB 機能」の記事を 1 つ(私は Firefox ブラウザを使用しています。最大の利点は、どのようなパラメータがサーバーに送信されるかを直感的に確認できることです)、開発者向けオプションを開き、コメントを送信するプロセスを記録する準備をします。コメントを書いてコメントを残すだけです。今回は、リクエストは開発者向けオプションを介してログに記録されます。 public function post($body) { $this->setLine('POST'); // コンテンツタイプをリセット $this->setHeader('Content-Type:application/json; charset=UTF-8'); // setBody メソッドをスキップします // $this->setBody($body); $this->body[]=$body; // コンテンツの長さを計算する $this->setHeader('Content-length: ' . strlen($this->body[0])); $this->request(); 戻る $this->応答; }
Httpクラスを再修正すると、この記事のメインコードの記述が完了します。理論的には、ヘッダー情報を設定するときに Cookie の値を設定するだけで十分ですが、成功率を高めるには、すべてのヘッダー情報を送信することが最善です。
コメントを送信する前に、送信されるパラメータを確認してください:
コード部分:
最後がこの記事のメインコードです:
リーリー送信プロセスは少し遅くなる可能性がありますが、しばらくお待ちください。
最後に、ブロガーがこのブログ記事をコメント送信のテストとして使用するのは構いませんが、文言には注意してください。