在AWS上设置tinyproxy服务器:了解其工作方式

时间:2019-12-22 02:07:39

标签: amazon-web-services amazon-ec2 proxy proxy-server tinyproxy

我有一个用python编写的脚本程序,该程序调用python api包装器。具体来说,包装器是nba_api。该程序在本地运行良好。我想在EC2实例上运行此程序时遇到问题。似乎stats.nba.com网站阻止了来自AWS ip的请求。

为避免这种情况,我研究了设置代理服务器的过程。我发现创建代理服务器最流行的选项之一是在EC2实例上设置tinyproxy。这似乎对我来说是一个很好的解决方案,我喜欢在不同的EC2实例中拥有代理服务器和脚本程序的想法。 (我将能够遵循tinyproxy文档,并且可以自行设置。我不要求安装说明,但希望您能提供有关特定配置的建议)

我在构思如何在一个实例上运行脚本程序并使其在另一个实例上使用代理服务器时遇到了麻烦。这将是我第一次设置和使用代理服务器。谁能给我提示这是否可行的解决方案?如果是这样,您能否提供更多有关我如何更改脚本程序以使用此代理的见解?如果没有,您能为我指出正确的方向并提出其他解决方案吗?

这是nba_api文档中的python函数示例。这类似于我的功能。如果我提出的解决方案行得通,我是否只需要对该文件进行一点编辑?

from nba_api.stats.endpoints import commonplayerinfo

# Basic Request
player_info = commonplayerinfo.CommonPlayerInfo(player_id=2544)


custom_headers = {
    'Host': 'stats.nba.com',
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'en-US,en;q=0.9',
}

# Proxy Support, Custom Headers Support, Timeout Support (in seconds)
player_info = commonplayerinfo.CommonPlayerInfo(player_id=2544, proxy='127.0.0.1:80', headers=custom_headers, timeout=100)

0 个答案:

没有答案