为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Python 连接到 localhost python flask API

如何使用 Python 连接到 localhost python flask API

精慕HU 2022-08-25 15:34:57
我有本地基于python flask的api运行。它在下面的基本网址上运行:http://localhost:80/ * Serving Flask app "main" (lazy loading) * Environment: production   WARNING: Do not use the development server in a production environment.   Use a production WSGI server instead. * Debug mode: off * Running on http://localhost:80/ (Press CTRL+C to quit)这是它的代码:if __name__ == '__main__':    import os    HOST = os.environ.get('SERVER_HOST', 'localhost')    try:        PORT = int(os.environ.get('SERVER_PORT', '5555'))    except ValueError:        PORT = 5555    app.run(HOST, 80)我需要连接到完整 URL 为以下网址的 API:http://localhost:80/api/v1/face/recognize我可以使用邮递员连接到它并获得良好的响应。我必须使用另一个python项目连接到它。为此,我使用以下代码:import http.clientimport jsonheaders = {'appName': 'Tirunka', 'app_key': '6e0e36ff19de5623',                           'Content-Type': 'application/json'}data = {    "imageUrl": "kf7ZrqtJ5Sucu02eL7kerZrOG7Or ........ and so on ..........Haypep1uir/AKRH9K662T92K5TRh/",    "galleryName": 'test'}json_data = json.dumps(data)conn = http.client.HTTPSConnection('http://localhost:80')conn.request("POST", "/api/v1/face/recognize", json_data, headers)在这一行,我得到以下异常:conn = http.client.HTTPSConnection('http://localhost:80/')nonnumeric port: '80/'我似乎一直在使用正确的网址。我无法理解错误。任何人都可以帮忙。谢谢
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

文档(强调是我的):

HTTPConnection 实例表示具有 HTTP 服务器的一个事务。应为其实例化,向其传递主机和可选端口号。如果未传递端口号,则从主机字符串中提取该端口(如果它的格式为 host:port,否则将使用默认的 HTTP 端口 (80)。

您的字符串不遵循 格式 。删除尾部斜杠,或使用关键字参数指定端口:host:port

conn = http.client.HTTPSConnection('http://localhost:80/') # does not work (InvalidURL: nonnumeric port: '80/')
conn = http.client.HTTPSConnection('http://localhost:80') # works
conn = http.client.HTTPSConnection('http://localhost',port=80) # works


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 290 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号