在python中使用响应时,我无法从网站获得任何响应我收到超时错误10060

问题描述

import requests
import pandas


def url(index,st_symbol,exp_date):
 
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/45.0.2454.85 Safari/537.36"}
    page = requests.get('https://www1.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=NIFTY&date=20AUG2020',headers = headers)

错误= ConnectionError :(“连接已中止。”,OSError(“(10060,'WSAETIMEDOUT')”))

网站-https://www1.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=NIFTY&date=20AUG2020

解决方法

User-Agent更改为其他版本,我可以获取HTML:

import requests

headers = {
    "User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0",}

page = requests.get('https://www1.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=NIFTY&date=20AUG2020',headers=headers)
print(page.text)

打印:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

...
,

10060似乎是来自low-latency connections.的错误,最好的解决方法是通过禁用您可能拥有的任何downloads或通过添加{ {1}}可以通过多种方式完成连接,具体取决于您尝试访问远程主机的方式。

幸运的是,请求库具备了这一功能! 您的代码应如下所示:

timeouts

错误10060的文档:10060 Connection Error

超时文档:Quickstart - Requests.Timeouts