更多>>关于我们

西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效绕过各种反采集策略。

您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。

数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。

更多>>官方微博

当前位置: 首页 > 技术文章 >
Python中连接HTTPS网站如何强制使用TLSv1协议
发布时间:2015-11-17 来源:未知 浏览:

某些HTTPS服务器不支持SSLv2协议(只支持TLSv1),例如 https://aswbe-i.ana.co.jp/international_asw/pages/revenue/search/roundtrip/search_roundtrip_input.xhtml?CONNECTION_KIND=CHN&LANG=cn,如下图所示。

Python 2.x On Linux 默认采用PROTOCOL_SSLv23协议,直接访问这个URL会返回“<urlopen error _ssl.c:495: The handshake operation timed out>”错误。

使用下面的方法可以强制ssl使用TLSv1协议,从而绕过这个问题。

# coding: utf-8
# tlsv1_test.py

import ssl
from functools import wraps
from webscraping import download

# 强制ssl使用TLSv1
def sslwrap(func):
    @wraps(func)
    def bar(*args, **kw):
        kw['ssl_version'] = ssl.PROTOCOL_TLSv1
        return func(*args, **kw)
    return bar
ssl.wrap_socket = sslwrap(ssl.wrap_socket)
    
def webscraping_test(url):
    """使用webscraping库测试
    """
    print 'With webscraping ....'
    D = download.Download(read_cache=False)
    print D.get(url)
    
if __name__ == '__main__':
    url = 'https://aswbe-i.ana.co.jp/international_asw/pages/revenue/search/roundtrip/search_roundtrip_input.xhtml?CONNECTION_KIND=CHN&LANG=cn'
    webscraping_test(url)
特别说明:该文章为鲲鹏数据原创文章 ,您除了可以发表评论外,还可以转载到别的网站,但是请保留源地址,谢谢!!(尊重他人劳动,我们共同努力)
☹ Disqus被Qiang了,之前的评论内容都没了。现在改用国产的友言。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/
QQ在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。