import requests
url="https://beta.nseindia.com/api/option-chain-indices?symbol=NIFTY"
requests.get(url)
我正在使用请求,但它给我超时错误..但是当我在浏览器中打开相同的链接时,其工作正常
答案 0 :(得分:2)
尝试使用一些用户代理字符串标题:
import requests
url="https://beta.nseindia.com/api/option-chain-indices?symbol=NIFTY"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
>>> response
<Response [200]>
>>>
beta.nseindia.com/
的策略可以阻止来自漫游器的请求。
答案 1 :(得分:2)
如果您一直向上滚动浏览错误,则会看到 InsecureRequestWarning
,这表示您正在进行未经验证的HTTPS请求。可以按照this指南解决。
首先,您需要安装一些软件包来处理证书:
pip install certifi pip urllib3[secure]
然后,在您的代码中创建一个 PoolManager
,在发出请求时验证证书:
import requests
import certifi
import urllib3
http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED', ca_certs=certifi.where())
url = 'https://beta.nseindia.com/api/option-chain-indices?symbol=NIFTY'
http.request('GET', url, verify=False)
取决于您使用的是哪个版本的python,