如何修复HTTPSConnectionPool-连接到数据库服务器时读取超时错误

时间:2019-08-30 16:34:33

标签: python-3.x https filemaker

我正在尝试通过python脚本连接到FileMaker Databse服务器,我的代码之前可以运行,但是突然停止了,并且我没有对不再起作用的代码部分进行任何更改。我遇到以下错误:

Request error: HTTPSConnectionPool(host='**.**.*.*', port=443): Read timed out. (read timeout=30)

我已经取出了创建服务器实例并连接/登录的代码,然后在不对数据库进行任何更改的情况下注销了该代码,但我仍然收到相同的错误。但是,我可以通过FileMaker应用程序连接到FileMaker服务器和数据库,而不会出现问题,并且可以使用Telnet命令连接到服务器。我在Windows 10上并在PyCharm CE中编写代码。我已经重新安装了PyCharm,创建了一个新的虚拟环境,并尝试重新安装fmrest模块,以及使用旧版本。我还增加了超时时间,以给更多的登录时间,但没有用。当过去几周它在测试中表现出色时,我基本上为为什么无法再通过脚本登录感到st恼。我的代码如下。

import fmrest
from fmrest.exceptions import FileMakerError
from fmrest.exceptions import RequestException
import sys
import requests

# connect to the FileMaker Server
requests.packages.urllib3.disable_warnings()
fmrest.utils.TIMEOUT = 30
try:
    fms = fmrest.Server('https://**.**.*.*',
                        user = '***',
                        password = '******',
                        database = 'Hangtag Order Management',
                        layout = 'OrderAdmin',
                        verify_ssl = False)
except ValueError as err:
    print('Failed to connect to server. Please check server credentials and status and try again\n\n' + str(err))
    sys.exit()

print(fms)
print('Attempting to connect to FileMaker Server...')

try:
    fms.login()
    print('Login Successful\n')
except FileMakerError as err:
    print(err)
    sys.exit()
except RequestException as err:
    print('There was an error connecting to the server, the request timed out\n\n' + str(err))
    sys.exit()

fms.logout()

这应该成功登录数据库,打印“ login success”并注销。调用print(fms)返回

<Server logged_in=False database=Hangtag Order Management layout=OrderAdmin>

但是登录尝试时我收到连接错误。我假设错误是在服务器端,但是我对服务器的了解不足,无法准确地排除故障。服务器可以将我的IP列入黑名单,以便在测试期间进行多次登录尝试吗?如果可以的话,我该在哪里撤消/防止再次发生?

1 个答案:

答案 0 :(得分:0)

几个服务器重新启动后修复了该错误,但不确定最终原因。