У меня есть приложение flask. Это приложение выполняет API-вызов к серверу graphql, URL-адрес которого имеет вид «http://xyz: 8080 / graphql ».
Приложение помещено в контейнер docker и работает на docker compose.
Этот сервер расширенного графического доступа доступен из браузера chrome и инструментов API. но когда контейнер вызывает URL-адрес сервера, он выдает ошибку, подобную этой.
**HTTPConnectionPool(host='xyz', port=8080): Max retries exceeded with url: /graphql (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f21777
f0c18>: Failed to establish a new connection: [Errno -5] No address associated with hostname',))**
URL-адрес связан с DNS, и IP-адрес также существует. У меня нет IP-адреса сервера и только DNS, т.е. "xyz", кто-нибудь сталкивался с такой проблемой? ниже приведен класс, написанный для подключения к graphql в приложении.
import requests
class GraphQL:
def graphql(self, query, variables = {}, headers = None):
url = 'http://xyz:8080/graphql'
response = requests.post(
url = url,
json = {'query': query, 'variables': variables},
headers = headers
)
return response