1. はじめにサインインアクティビティを開始して以来、ナゲットはこの機能を継続的に改善しています。 (๑`^´๑)鉱石はw(主に運に依存していません(•̀ω•́)✧)。サーバープラスノードタイミングスクリプト自動サインインと宝くじ機能を実現します。方向性が決まった後、記事を探し始めたので、直接 2. 準備サーバ 私はたくさんの記事を読みましたが、基本的にそれらはすべてリクエスト パッケージとスケジュールされたタスク トリガー パッケージを使用して実装しています。また、Treasure Monkey スクリプト、クラウド関数、ノード スクリプトを使用しているものもいくつか見てきましたが、これらは基本的にすべてをカバーしています。しかし、何を使用しても、アイデアと呼び出しインターフェースは同じであるため、この記事ではクラウド サーバーをベースとしており、クラウド サーバーまたはインターネットに接続され、24 時間シャットダウンされないコンピューターが必要です。 ノード環境 これについてはあまり言及しません。ノード環境のインストールはオンラインで利用可能ですが、誰もがインストールしているはずです。環境を整えた後、プロジェクトの構築を開始しました。 3. スクリプトプロジェクトの構築フォルダを作成し、プロジェクト名を記入します(ランダムな名前を付けてください( ̄▽ ̄)/) 次に、フォルダーの下の DOS ウィンドウ (cmd) を開くか、 ウィンドウに 次に、 npmとaxios npm とノードスケジュール インストールが完了すると、次の図が表示されます。 次に、コードとパラメータの書き込み用に、ルート ディレクトリに この時点で、 4. コードの作成と実行まず、使用されるパラメータをファイル( //config.js //今日のサインインが成功したかどうかを照会します。API: https://api.juejin.cn/growth_api/v1/get_today_status モジュール.エクスポート = { // ナゲット関連のパラメータ nuggets: { signInUrl: `https://api.juejin.cn/growth_api/v1/check_in`, //サインインインターフェース freeCheckUrl: `https://api.juejin.cn/growth_api/v1/lottery_config/get`, //無料宝くじ番号クエリ drawUrl: `https://api.juejin.cn/growth_api/v1/lottery/draw`, //宝くじインターフェースヘッダー: { リファラー: "https://juejin.cn/", 「アップグレード-安全でないリクエスト」: 1, 「ユーザーエージェント」: 「Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/55.0.2883.87 Safari/537.36」、 Cookie: `ここに独自の Cookie を入力し、Nuggets Web バージョンにログインし、コンソールのネットワークを開き、リクエストをランダムに見つけ、リクエスト ヘッダーの Cookie をチェックしてコピーします`、//独自のものを使用する}、//関連するリクエスト ヘッダー}、 //メッセージプッシュ関連のパラメータ pushPlus WeChatパブリックアカウントをフォローして、1対1のプッシュコールパラメータを取得します。pushPlusを宣伝するためではありません: { url: `http://www.pushplus.plus/send`, //WeChatプッシュURL token: `これはPushPlusから取得したトークンです。公式アカウントをフォローし、公式ウェブサイトを開いて1対1のプッシュを見つけることでトークンを取得できます。`, //広告なし、無料です} } このファイルで変更する必要がある内容は主に、それぞれ Nuggets インターフェース リクエストと wx メッセージ プッシュに使用される ここでは wx メッセージプッシュの 最後に、コード( ここでは一部を簡単に抜粋します。コード全体を載せるのは長すぎるので、サインインとスケジュールタスクの部分を中心に載せます。プロジェクト全体を Github と Gitee にアップロードしますので、どなたでもダウンロードして勉強していただけます(できればスターを付けてください (・ω<)☆)。 //必要なパッケージファイル const axios = require("axios"); const スケジュール = require("ノードスケジュール"); //関連パラメータはファイルに保存されます const { nuggets, pushPlus } = require("./config"); /** * 現在の時刻のフォーマットされた時間を取得します * @param {String} key js date関数文字列を呼び出します * @returns 現在の時刻のフォーマットされた文字列 */ const getNowTime = (キー) => { nowTime = ``; とします。 試す { nowTime = 新しいDate()[キー](); } キャッチ (e) { nowTime = `時間関数の取得中にエラーが発生しました! `; console.error(`日付関数を渡してください——${e}`); } nowTime を返します。 } /** * ナゲット自動サインインリクエストメソッド */ 定数hacpaiSignRequest = 非同期() => { console.log(`\n\n------${getNowTime(`toLocaleDateString`)} - サインインを開始します------\n`); const { headers, signInUrl } = nuggets; //サインイン関連のパラメータ const res = await axios({ url: サインインURL、 メソッド: `post`, ヘッダー、 }); (res && res.data)の場合{ jsonMsg を JSON.stringify(res.data); とします。 console.log(`\n ${jsonMsg} \n \n ------ ${getNowTime(`toLocaleTimeString`)} サインインに成功しました------\n`); pushMsg(`Nuggets sign-in result`, res.data); //サインイン成功後にメッセージをプッシュ //サインイン成功後、30秒以内に無料抽選の数を確認する setTimeout(() => { フリーチェック(); }, Math.random() * 30 * 1000) } それ以外 { コンソールログ(res); console.log(`\n ------ ${getNowTime(`toLocaleTimeString`)} サインインに失敗しました------ \n`); pushMsg(`Nuggets サインイン結果`, { 'サインイン失敗': res.data }); //サインイン成功後にメッセージをプッシュします} } //時間指定トリガータスク const signTask = () => { //毎日6:00~6:10の間にランダムにサインインする schedule.scheduleJob("0 0 6 * * *", () => { タイムアウトを設定する(() => { hacpaiSignRequest(); //サインイン関数}, Math.random() * 10 * 60 * 1000) }) } //タスクの実行を開始します console.log(`タスクの実行を開始します - ${getNowTime('toLocaleString')}`); タスクに署名します。 ここのコードは、いくつかの機能が組み込まれていないため、そのまま使用することはできません。ここに書かれているロジックは主にサインイン -> 無料抽選回数の照会 -> 抽選です。このプロセスは、毎日 6:00-6:10 の間の任意の時間にランダムにトリガーされます (ハードコードされてロボットとみなされるのではないかと心配です!!!∑(゚Д゚ノ)ノ)。コードの記述は非常に簡単です。主に、要求ロジックを整理し、関連するインターフェイスを見つけるだけです。最後に、どのリクエスト パッケージを使用しても、http リクエストであれば、これらの機能を完了できます。 最後に、 この記事では主に wx メッセージ プッシュを使用します。電子メール メッセージ プッシュに関するご要望がございましたら、コメント欄でお知らせください。後ほど、電子メール メッセージ プッシュに 5. まとめと言いたいこと最初はちょっと難しいかなと思いましたが、実際にやってみると、書くのはそれほど難しくないことがわかりました。主に、自分の心理的な障壁、怠惰、やる気のなさを克服する必要があります。大学時代の感覚を取り戻したいと思っています。できるかどうかは関係なく、とにかく勇気を出してやります。解決方法は必ずあります。ただ、時間がかかるだけです。この方法でのみ、自分を成長させることができると信じています。頑張ってください!リトルD!そしてこのブログを読んでくださっている皆さんも、ぜひ一緒に頑張ってください! ( ̄▽ ̄)/ 6. 関連するソースコードと参考ブログソースコード gitee 自動チェックインJueJin github: 自動チェックインJueJin お借りした記事の作者さんのブログ(順不同(*❦ω❦)): ナゲッツは契約を逃さない!自動サインインと自動無料抽選 それを実現するには 100 行のコードが必要です。ナゲットの自動サインインと抽選とメールリマインダーのクラウド機能バージョン〜 🎉 数行のコードで自動サインイン+WeChatプッシュを実現。サインインを忘れる心配はもうありません クラウド機能は定期的に金採掘コミュニティをトリガーします:自動サインイン、自動無料抽選🔥🔥 ナゲッツはいつもサインインを忘れますか? Nodeは自動的にサインインしてあなたを助けます ノードスクリプトを使用して自動サインインと抽選機能を実現する方法についての記事はこれで終わりです。ノード自動サインインと抽選の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM を応援してください。 以下もご興味があるかもしれません:
|
<<: nginx でのリクエストのカウント追跡の簡単な分析
例を通して、MySQL のデータ テーブル送信のクエリが遅い問題の解決策を共有しました。最近、コード...
序文フェイルオーバーが発生した後、よくある問題は同期エラーです。データベースが小さい場合は、ダンプし...
1. 1列を変更する 学生の更新、都市c s.city_name = c.name を設定します こ...
I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...
以下のように表示されます。 SELECT prod_name,prod_price FROM pro...
この記事では、Dockerでイメージ情報を表示する方法を学ぶ必要があります。 1. imagesコマ...
display: flex レイアウトに関しては、深く理解している人もいますし、私も他の人の作業か...
概要: 2 つの MySQL SQL ステートメント ロックの分析次のSQL文にどのようなロックが追...
目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...
目次1. ダウンロード2. 展開1.Nginxのデプロイメント2. ModSecurityの展開3....
以前、写真が与えられ、その写真スタイルに基づいてフォームを作成するという課題に遭遇しました。しかし、...
1. InnoDBのロック機構InnoDB ストレージ エンジンは、行レベルのロックとトランザクショ...
序文この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツ...
コアコード <!DOCTYPE html> <html lang="ja...
注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...