miriwoのブログ

IT系の技術や少し趣味よりのことも投稿してゆくよ😊

とあるサービスにリクエストを送りすぎて403エラーを食らった話

目的

  • とあるサービスにAPI経由でリクエストを送りすぎて一時的にアクセス制限かかかってしまった話をまとめ、二度としないように戒める

やってしまったこと

  • とあるサービスのAPIに対してLaravelアプリからデータの取得をするためにリクエストを送った。
  • while分を使用してリクエストで受け取ったJSONデータが空になるまでリクエストを繰り返し送り、得られたJSONデータが空の場合、処理を終了するコードを書いた。
  • 実行したところ、レスポンスとして帰ってきたJSONが想定が異なり永遠にwhileのループ処理が実行されてしまった。

何が起こったか

  • APIアクセスが拒否されるようになった。
  • ブラウザから当該サービスにブラウザからアクセスした所403エラーが発生し一時的にサービスが使用できなくなった。

その後どうなったか

  • 次の日にはブラウザから正常にアクセスできるようになった。
  • APIへのリクエストも正常にレスポンスが得られるようになった。

どうすべきだったのか

  • JSONのデータがどのようにレスポンスとして帰ってくるのか細部まで確認するべきだった。
  • orなどを用いて多重リクエストを送らないように処理をすべきだった。
  • そもそも取得したデータを用いてループ処理の可否を決める事は良くない。