<- all posts

VPSからRedditのJSON APIが403でブロックされる — RSSフィードで回避した話

2026年4月22日

やりたかったこと

Redditのr/ClaudeAIから最新投稿を取得して、Claudeのサービス状態を監視するツールを作りたかった。

ローカルでは動いた

Macのターミナルからは問題なく投稿データがJSONで返ってきた。

VPSでは403

同じコマンドをVPSで実行すると403 Blockedold.reddit.com経由も「whoa there, pardner!」というブロックページが表示された。

原因

Redditはデータセンターの既知IPレンジからのリクエストをブロックしている。自宅IPは一般ISPなので通るが、VPSのIPはデータセンターとして識別されて拒否される。

解決策: RSSフィード

curl -s -A "claude-monitor/1.0" \
  "https://www.reddit.com/r/ClaudeAI/new.rss?limit=25"

VPSからも正常にデータを返した。XMLフォーマットだが、Pythonのxml.etree.ElementTreeで簡単にパースできる。投稿本文はHTMLエンコードされているので、html.unescape()でデコードし、正規表現でタグを除去する。

学び