【问题标题】:Send HTTP request to localhost向本地主机发送 HTTP 请求
【发布时间】:2018-12-04 20:51:18
【问题描述】:

我正在使用 Flask 构建一个 Rest API。该 API 使用来自在 localhost 上运行的 Elasticsearch 的数据。

可以从Flask路由发送HTTP请求到localhost吗?

类似这样的:

@flashlog.route('/checkelasticisup')
def check_elastic_is_up():
    res = requests.get('http://localhost:9200/')
    return jsonify({'message': res.text})

我想将您在向 localhost:9200 发送 GET 请求时获得的 Elasticsearch 响应返回给客户端:

{
  "name": "wEV_Spx",
  "cluster_name": "elasticsearch",
  "cluster_uuid": "dbPLLgYLRO69iYuT_pp4WA",
  "version": {
    "number": "6.3.0",
    "build_flavor": "default",
    "build_type": "deb",
    "build_hash": "424e937",
    "build_date": "2018-06-11T23:38:03.357887Z",
    "build_snapshot": false,
    "lucene_version": "7.3.1",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
  },
  "tagline": "You Know, for Search"
}

现在,我得到:

网络错误(dns_unresolved_hostname)

<HTML><HEAD>
<TITLE>Network Error</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Network Error (dns_unresolved_hostname)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your requested host "localhost" could not be resolved by DNS.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">

</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>

如何向 localhost 发送 HTTP 请求(我使用的是 Ubuntu 18.04 LTS)?
谢谢!!

【问题讨论】:

  • 127.0.0.1替换localhost
  • cmets 是为了澄清问题,而不是回答。

标签: python http elasticsearch flask ubuntu-18.04


【解决方案1】:

正如@Metalik 所说,您必须将localhost 替换为127.0.0.1 才能正常工作。

【讨论】:

  • 使用 127.0.0.1 我得到:网络错误 (tcp_error) 发生通信错误:“连接被拒绝” Web 服务器可能已关闭、太忙或遇到其他问题,无法响应请求。您可能希望稍后再试一次。如需帮助,请联系您的网络支持团队。
  • 您确定您使用的是正确的端口,并且 Elasticsearch 确实在运行吗?
  • Elastic 正在运行。我正在使用我的 IP 在端口 80 上运行我的烧瓶应用程序。不在 localhost:5000
  • 根据您的弹性服务器的设置方式,请求中的尾部斜杠可能会导致此@MeirKeller
  • 无论有没有斜线,我都会得到相同的结果
【解决方案2】:

问题出在我的代理配置上。没有配置要忽略的正确 IP。 在我的 Ubuntu 机器的网络设置中将 localhost、127.0.0.1/8 和 ::1 添加到忽略主机字段后,一切正常。

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 2020-12-26
    • 1970-01-01
    • 2017-08-12
    相关资源
    最近更新 更多