Отправить HTTP-запрос на локальный хост - PullRequest
0 голосов
/ 26 июня 2018

Я создаю Rest API с помощью Flask.API использует данные из Elasticsearch, работающего на локальном хосте.

Можно ли отправить HTTP-запрос от маршрута Flask на локальный хост?

Примерно так:

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

Я хочу вернуть клиенту ответ Elasticsearch, полученный при отправке GET-запроса на localhost: 9200:

{
  "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>

Как я могу отправить HTTP-запрос на локальный хост (я использую Ubuntu 18.04 LTS)?
Спасибо !!

Ответы [ 2 ]

0 голосов
/ 26 июля 2018

Проблема была с моей конфигурацией прокси. Не настроены правильные IP-адреса для игнорирования. После того, как я добавил localhost, 127.0.0.1/8 и :: 1 в поле игнорирования хоста в настройках сети на моей машине с Ubuntu, все работает.

0 голосов
/ 26 июня 2018

Как сказал @Metalik, вы должны заменить localhost на 127.0.0.1, чтобы это работало.

...