Pythonのrequestsでlocalhostにアクセスすると403エラーになってしまう

実現したいこと

お世話になります。
DockerでVoicevoxのサーバーを立ち上げており、そのサーバーにリクエストを投げた時に200番のレスポンスが返るようにしたいです。
よろしくお願いいたします。

発生している問題・分からないこと

requestsのURLにlocalhostを指定すると403エラーになってしまいます。

エラーメッセージ

error

1HTTP error occurred: 403 Client Error: Forbidden for url: http://localhost:50021/speakers

該当のソースコード

Python

1import requests 2from requests.exceptions import HTTPError 3 4try:5 response = requests.get("http://localhost:50021/speakers")6 # response = requests.get("https://www.google.com/") この場合は正常に動作7 # 正常な応答を得られた場合、ステータスコードが200台であることを確認8 response.raise_for_status()9except HTTPError as http_err:10 # HTTPエラー発生時(例:404, 403, 500等)の処理11 print(f'HTTP error occurred: {http_err}')12except Exception as err:13 # その他のエラー発生時の処理14 print(f'Other error occurred: {err}')15else:16 # エラーが発生しなかった場合の処理17 print('Success!')

docker

1version: "3"2services:3 voicevox:4 image: voicevox/voicevox_engine:cpu-ubuntu20.04-latest 5 ports:6 - "50021:50021"7 tty: true

試したこと・調べたこと

上記の詳細・結果

試したこと

  • 別のPCで行ったところ正常に動作
  • ブラウザやPostmanからであれば正常に動作
  • 同じ型の別のPCで友人に試してもらったところ正常に動作
  • localhostではなく、googleのURLを入れて実行したら正常に動作
  • localhostを127.0.0.1に変更し実行したが403エラーが表示される
  • PCの再起動を行っても403エラーが表示される
  • Docker Desktopを再起動しても403エラーが表示される
  • コンテナを削除し、docker-compose up -dを再度実行しても403エラーが表示される
  • Pythonをアンインストール後、再度インストールしても403エラーが表示される
  • PCやアプリのアップデートを全て行っても403エラーが表示される

補足

関係あるかは分かりませんが、コンテナを停止させても403エラーが表示されました。
Pythonのコードを実行後、Dockerのログには何も表示されませんでした。(ブラウザやPostmanからアクセスした際にはログが表示されていました。)

使用したバージョンは以下の通りです。
python==3.11.4 (python==3.10も使用して試してみました。)
requests==2.31.0

コメントを投稿

0 コメント