我在工作中运行我的代码,并且运行顺利,但是在不同的网络(家庭 WiFi)上,我在访问CoinGecko V3 API时不断收到403错误。可以观察到,在私有浏览器上访问 API(对其进行测试)将提示安全检查(hCaptcha)能够继续。
https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30
with requests.get(url) as source:
print(source.status_code)
我还尝试了 pycoingecko(用于检查),但仍然返回类似的错误:
>>> from pycoingecko import CoinGeckoAPI
>>> cg = CoinGeckoAPI()
>>> cg.get_coin_market_chart_by_id(id='bitcoin', vs_currency='usd', days=1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\...\Python39\lib\site-packages\pycoingecko\utils.py", line 12, in input_args
return func(*args, **kwargs)
File "C:\Users\...\Python39\lib\site-packages\pycoingecko\api.py", line 169, in get_coin_market_chart_by_id
return self.__request(api_url)
File "C:\Users\...\Python39\lib\site-packages\pycoingecko\api.py", line 29, in __request
response.raise_for_status()
File "C:\Users\...\Python39\lib\site-packages\requests\models.py", line 941, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=1
我猜 Cloudflare 怀疑我的网络活动,但显然我正在使用 Python 脚本来访问 API。有没有办法通过安全检查?