GET https://192.168.11.168:8900/common/common/slider/LOGIN net::ERR_SSL_PROTOCOL_ERROR
时间: 2023-12-18 19:03:00 浏览: 35
这个错误通常是由于 SSL/TLS 握手失败导致的。可能有以下几个原因:
1. 证书问题:服务器证书无效或未被信任,或者客户端证书无效。
2. 网络问题:可能存在网络连接问题,如防火墙阻止了 SSL/TLS 连接。
3. 服务器配置问题:服务器配置错误或不支持 SSL/TLS 协议版本。
解决方法:
1. 确认证书是否有效并受信任。可以尝试使用其他浏览器或设备进行访问,以确定问题是否与证书相关。
2. 检查网络连接和防火墙设置,确保 SSL/TLS 连接未被阻止。
3. 确认服务器 SSL/TLS 配置是否正确并支持所需的协议版本。可以联系服务器管理员或技术支持人员进行进一步的帮助。
相关问题
selenium滑块验证码(以https://www.kgcaptcha.com/demo/content?t=1为例)
对于这个问题,可以使用Selenium模拟用户滑动验证码,具体步骤如下:
1.打开网站:
```
from selenium import webdriver
driver = webdriver.Chrome()
url = 'https://www.kgcaptcha.com/demo/content?t=1'
driver.get(url)
```
2.找到滑块元素,获取其大小和位置:
```
slider = driver.find_element_by_xpath('//div[@class="yidun_slider"]')
size = slider.size
# 获取滑块的大小,以便后续计算偏移量
width = size['width']
height = size['height']
location = slider.location
# 获取滑块在页面中的位置,以便后续计算偏移量
x = location['x']
y = location['y']
```
3.找到滑块背景元素,获取其大小和位置:
```
bg = driver.find_element_by_xpath('//div[@class="yidun_bg-img"]')
bg_size = bg.size
bg_x = bg.location['x']
bg_y = bg.location['y']
```
4.计算需要滑动的距离:
```
# 计算需要滑动的距离
distance = bg_x + width - x
```
5.使用ActionChains拖拽滑块:
```
from selenium.webdriver.common.action_chains import ActionChains
# 点击并按住滑块
ActionChains(driver).click_and_hold(slider).perform()
# 模拟滑动动作,根据需要滑动的距离,按比例分成多次滑动
for i in range(5):
proportion = (i + 1) / 5
x_offset = int(distance * proportion)
y_offset = 0
ActionChains(driver).move_by_offset(x_offset, y_offset).perform()
time.sleep(0.2)
# 释放滑块
ActionChains(driver).release().perform()
```
通过以上步骤,可以完成Selenium模拟用户滑动验证码的操作。
用selenium模块对网站:http://www.ccgp-liaoning.gov.cn/portalindex.do?method=goPubInfoList的滑块验证码进行验证
好的,这个网站的滑块验证码比较复杂,需要先进行一些处理才能通过滑动验证。以下是一个基本的思路:
1. 打开网站,点击进入采购公告页面。
2. 点击“全部”按钮,切换到全部采购公告页面。
3. 首先尝试通过点击“查询”按钮绕过滑块验证。
4. 若滑块验证未通过,则进行滑动验证。
5. 滑动验证后,再次点击“查询”按钮,即可获取采购公告列表。
具体实现可以参考以下代码:
```python
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
driver = webdriver.Chrome()
driver.get('http://www.ccgp-liaoning.gov.cn/portalindex.do?method=goPubInfoList')
# 点击进入采购公告页面
driver.find_element_by_link_text('采购公告').click()
# 点击切换到全部采购公告页面
driver.find_element_by_link_text('全部').click()
# 尝试通过点击“查询”按钮绕过滑块验证
driver.find_element_by_id('query').click()
# 判断是否出现滑块验证
if '请完成验证' in driver.page_source:
# 定位滑块元素
slider = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'validate')))
slider_knob = slider.find_element_by_class_name('ui-slider-handle')
# 计算需要滑动的距离
slider_width = slider.size['width']
knob_width = slider_knob.size['width']
distance = slider_width - knob_width
# 模拟滑动操作
ActionChains(driver).click_and_hold(slider_knob).move_by_offset(distance, 0).release().perform()
# 等待滑块验证完成
time.sleep(2)
# 再次尝试点击“查询”按钮
driver.find_element_by_id('query').click()
# 获取采购公告列表
table = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'resultslist')))
rows = table.find_elements_by_tag_name('tr')
for row in rows[1:]:
cells = row.find_elements_by_tag_name('td')
print(cells[1].text)
```
需要注意的是,滑块验证的具体实现方式因网站而异,以上代码仅供参考,具体实现需要根据实际情况进行调整。