こちらのサイトを参考にPythonでAPIの実装をしました。
このサイトの通りAPI.pyを作り、ローカルでhost='0.0.0.0'
ならうまく動きました。
これを発展してラボマシンにサーバーを立てたいと思ったのですが、うまく繋がりません。
ポートはちゃんと解放されているのになぜコネクトできないのでしょうか…。
ちなみにポートは今こんな感じです。
オンラインでできるポートチェックテストをやってみたら80や22はアクセスできるのに2112はアクセスできませんでした…。ちゃんと開放できていないのでしょうか?
HTTPサーバは何を使っていますか?
また、flaskアプリはどうやって起動していますか?
gunicornでも使っているのでしょうか?
初心者で申し訳ないのですが、「何を使っている」にどう答えれば良いのかわかりません…ゼミ室に置いてある物理マシンにssh接続して使っているだけで…汗
flaskはサイトからの引用になりますが
```
# 必要なモジュールの読み込み
from flask import Flask, jsonify, abort, make_response
# Flaskクラスのインスタンスを作成
# __name__は現在のファイルのモジュール名
api = Flask(__name__)
# GETの実装
@api.route('/get', methods=['GET'])
def get():
result = { "greeting": 'hello flask' }
return make_response(jsonify(result))
# エラーハンドリング
@api.errorhandler(404)
def not_found(error):
return make_response(jsonify({'error': 'Not found'}), 404)
# ファイルをスクリプトとして実行した際に
# ホスト0.0.0.0, ポート3001番でサーバーを起動
if __name__ == '__main__':
api.run(host='0.0.0.0', port=3001)
```
こんな感じのプログラムがあって、ローカルで`curl -i http://0.0.0.0:2112/get`で呼び出しています。
回答2件
あなたの回答
tips
プレビュー