python requests SSL证书问题

  • 错误信息:

requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

python做爬虫,对于有的网站,需要验证证书,比如:12306。

百度查报错信息,stack overflow里讲的比较好。

cafile = 'cacert.pem' # http://curl.haxx.se /ca/cacert.pem
r = requests.get(url, verify=cafile)
requests的官方相关帮助

就是说加上一个参数:verify=证书路径,或verify=False
我测试了一下,后者会有警告,提示安全问题

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)

使用证书的最大问题是证书在哪儿弄?,经过探索得到解决:通过浏览器查看网页证书,然后另存为
百度经验贴:下载安全证书

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Author  : 西瓜,2017/4/29 0:30
# @File    : 12306测试.py
# python版本:python3.5

my_header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
    'Accept-Encoding': 'gzip, deflate',
    'Referer': 'http://www.baidu.com',
    'Connection': 'keep-alive',
    'Cache-Control': 'max-age=0',
    'Host':None
}

import requests
from bs4 import BeautifulSoup
geturl ="https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.\
train_date=2017-04-29&leftTicketDTO.from_station=WHN&leftTicketDTO.\
to_station=SZN&purpose_codes=ADULT"
# 测试网址
# geturl = "http://blog.csdn.net/wangming520liwei/article/details/53896964"

# res = requests.get(geturl,headers=my_header)
res = requests.get(geturl,headers=my_header,verify=False)
# res = requests.get(geturl,headers=my_header,verify="E:/SRCA.crt")
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text,'html5lib')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 主要思路: 1. Docker Registry 说明 关于如何创建和使用本地仓库,其实已经有很多文章介绍了。因为...
    威谷子阅读 10,999评论 0 30
  • HTTPS介绍 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩...
    齐滇大圣阅读 12,930评论 8 96
  • 前言:现在第三方推送也很多 ,比如极光,融云,信鸽,其原理也是相同利用APNS推送机制 ,前段公司让做自己的推送,...
    OliviaZqy阅读 8,235评论 0 5
  • 她觉得自己一定是被蛊惑了,才会在深夜出现在这个地方。 对了,就像当年趋之若鹜的淘金者一样,有神圣的东西在冥...
    桃九阅读 2,490评论 0 1
  • 我曾七次鄙视自己的灵魂:第一次是当她本可以进取,却故作谦卑;第二次是当她杞人忧天,未病呻吟;第三次是当她舍难求易,...
    Sunny飞镜阅读 1,432评论 0 0

友情链接更多精彩内容