是否有解决方法可以通过CoinGecko API安全检查? [英] Is there a workaround to get past CoinGecko API security check?

查看:0
本文介绍了是否有解决方法可以通过CoinGecko API安全检查?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在工作中运行代码,运行得很顺利,但在不同的网络(家庭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...Python39libsite-packagespycoingeckoutils.py", line 12, in input_args
    return func(*args, **kwargs)
  File "C:Users...Python39libsite-packagespycoingeckoapi.py", line 169, in get_coin_market_chart_by_id
    return self.__request(api_url)
  File "C:Users...Python39libsite-packagespycoingeckoapi.py", line 29, in __request
    response.raise_for_status()
  File "C:Users...Python39libsite-packages
equestsmodels.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。是否有解决方法可以通过安全检查?

推荐答案

我认为使用Screperapi.com可以很好地解决这个问题。你会收到几千个请求,在必须付款之前看看它是否有效,设置+旨在处理这样的事情非常容易,其中您可能会得到验证码/阻止等。

我刚测试过,工作正常:

import requests
payload = {'api_key': 'YOUR API KEY',
           'url': 'https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=30'}
with requests.get('http://api.scraperapi.com', params=payload) as source:
    print(source.status_code)

这篇关于是否有解决方法可以通过CoinGecko API安全检查?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆