まず、実装原理を紹介します:
ブログ投稿にコメントを送信する本質は、http プロトコル サーバーを通じて投稿リクエストを送信することです。コメントを投稿する前に何をする必要がありますか?はい、ログインする必要があります。ただし、ログインについては別の問題なので、ここでは説明しません。ユーザーがログインすると、サーバーはクライアントに Cookie を設定します。 http はステートレスです。つまり、クライアントがサーバーにリクエストを送信した後、サーバーは応答を返します。 1回の通信が完了します。サーバーは、誰が自分自身にリクエストを送信したかを覚えていません。したがって、クライアントは、サーバーによって設定された Cookie を使用してサーバーにリクエストを送信し、サーバーにその ID を通知する必要があり、サーバーは Cookie に基づいて応答を生成します。
準備:
このテストを完了するために、別のブログアカウント(DeanHuangChopper)を登録しました。ブログパークにログインした後、私のブログ(DeanChopper)を開き、「PHPを組み合わせたバッファリングメカニズムを理解する」などのブログ投稿の1つをランダムに開きます。 OB 機能」の記事を 1 つ(私は Firefox ブラウザを使用しています。最大の利点は、どのようなパラメータがサーバーに送信されるかを直感的に確認できることです)、開発者向けオプションを開き、コメントを送信するプロセスを記録する準備をします。コメントを書いてコメントを残すだけです。今回は、リクエストは開発者向けオプションを介してログに記録されます。
リクエストヘッダーにのみ注意する必要があります。
当然ですが、HttpクラスのsetHeader()メソッドでリクエストヘッダ情報を設定し、post()メソッドで送信しています。まずはリクエストヘッダー情報を注意深く分析してみましょう。 Host、Content-type、Content-length は一部の http メソッドを通じてデフォルトで設定されるため、追加する必要はありません。ただし、Content-type の種類は「application/json; charset=UTF-8」であり、HTTP でデフォルトで設定されている「application/x-www-form-urlencoded」とは異なりますので注意が必要です。リクエストボディは配列形式ではなく json 形式であるため、元の Http post メソッドを書き直す必要があります。
リーリーHttpクラスを再修正すると、この記事のメインコードの記述が完了します。理論的には、ヘッダー情報を設定するときに Cookie の値を設定するだけで十分ですが、成功率を高めるには、すべてのヘッダー情報を送信することが最善です。
コメントを送信する前に、送信されたパラメータを確認してください:
「本文」の後に送信したい内容を記入するだけです。
コード部分:
最後がこの記事のメインコードです:
リーリー送信プロセスは少し遅くなる可能性がありますが、しばらくお待ちください。
上記の紹介がこの記事の全内容です。皆さんに気に入っていただければ幸いです。