我们有一个Windows服务器和一个Linux服务器。两台服务器上都没有互联网。现在,我们需要在这些服务器上部署一个python脚本,它将向外部网络URL发出http get请求。所以,我需要互联网。但我们无法为所有应用程序启用互联网。有没有办法只为这个特定的脚本启用互联网?
我不太了解Linux平台,但你可以允许程序使用命令行发出传出请求,如下所示:
import sys
import os
def allow_outbound_connections(program_path):
"""
Allow program outbound connections.
"""
if "win" in sys.platform:
command = f'netsh advfirewall firewall add rule name="{program_path}" '\
'dir=out action=block program= "{os.path.basename(program_path}"'\
' enable=yes profile=any'
if "linux" in sys.platform:
# *Add a similar command in Linux*
with os.popen(command) as stream:
return stream.read()
def main():
# First allow this program to make outbound connections.
output = allow_outbound_connections(__file__)
# (Eventually you could handle the output)
# Now make request to an outside network url.