我正在尝试编写代码以登录网站。
首先,我使用ARC进行了测试。工作正常。 Image
所以我写了这样的python代码:
0 represent!
1 represent!
2 represent!
3 represent!
4 represent!
[0, 1, 2, 3, 4]
但是我遇到了错误。
错误
import requests
url = 'https://www.bible.ac.kr/login.aspx/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Referer': 'http://www.bible.ac.kr/'
}
req = requests.get(url, headers=headers) # OR requests.get(url, headers=headers, verify=False)
print(req.status_code)
我很久没有解决这个问题了。
仅当我运行Fiddler时,代码才能正常工作。我不知道原因
即使尝试使用C语言,该网站仍然出现错误。
您可以仅使用Python解决此问题吗?
答案 0 :(得分:1)
我使用OPENSSL 1.0.1f
解决了这个问题。
该域仅支持TLS 1.0,SSLv2和SSLv3。这些协议已经过时,很少使用。因此,我怀疑OPENSSL 1.1.1
系列的兼容性。结果,使用openssl版本1.0.1f
解决了该问题。但是,在Python中使用较旧的openssl可能需要额外的工作。
我的英语不太好,但是希望能帮上忙。
答案 1 :(得分:0)
您是否尝试过使用try / except?
while statuscode != 200:
response = 0
try:
response = requests.get(url, params, timeout=7)
except (
requests.ConnectionError,
requests.exceptions.ReadTimeout,
requests.exceptions.Timeout,
requests.exceptions.ConnectTimeout,
) as e:
statuscode = 0
print(e)
if response:
statuscode = response.status_code
有趣的是,我发现只有在响应为200时才输入“如果响应”,我不知道为什么,但我不是在抱怨,哈哈!