Repository: youtube-dl
Issue: [bbc] BBC Sport streams throw CertificateError/RegexNotFoundError
Labels: geo-restricted

### Make sure you are using the *latest* version: run `youtube-dl --version` and ensure your version is *2017.07.02*. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2017.07.02**

### Before submitting an *issue* make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones

### What is the purpose of your *issue*?
- [x] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [ ] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

### If the purpose of this *issue* is a *bug report*, *site support request* or you are not completely sure provide the full verbose output as follows:

Add `-v` flag to **your command line** you run youtube-dl with, copy the **whole** output and insert it here. It should look similar to one below (replace it with **your** log inserted between triple ```):
```
λ youtube-dl -o - -v http://www.bbc.co.uk/sport/live/tennis/39942487 | "C:\Program Files\VideoLAN\VLC\vlc.exe" -
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-o', '-', '-v', 'http://www.bbc.co.uk/sport/live/tennis/39942487']
[debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252
[debug] youtube-dl version 2017.07.02
[debug] Python version 3.6.0 - Windows-10-10.0.15063-SP0
[debug] exe versions: ffmpeg N-85588-g6108805, ffprobe N-85588-g6108805
[debug] Proxy map: {}
[bbc] 39942487: Downloading webpage
[bbc] p055ysdk: Downloading media selection XML
[bbc] p055ysdk: Downloading m3u8 information
[bbc] p055ysdk: Downloading m3u8 information
[bbc] p055ysdk: Downloading m3u8 information
[bbc] p055ysdk: Downloading m3u8 information
[debug] Invoking downloader on 'https://ve-hls-uk-live.bbcfmt.hs.llnwd.net/pool_47/live/uk/sport_stream_15/sport_stream_15.isml/sport_stream_15-pa4%3d128000-video%3d5070016.m3u8'
[hlsnative] Downloading m3u8 manifest
Traceback (most recent call last):
  File "c:\dev\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\dev\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Dev\Python36\Scripts\youtube-dl.exe\__main__.py", line 9, in <module>
  File "c:\dev\python36\lib\site-packages\youtube_dl\__init__.py", line 465, in main
    _real_main(argv)
  File "c:\dev\python36\lib\site-packages\youtube_dl\__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 1927, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 773, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 827, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 1570, in process_video_result
    self.process_info(new_info)
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 1834, in process_info
    success = dl(filename, info_dict)
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 1776, in dl
    return fd.download(name, info)
  File "c:\dev\python36\lib\site-packages\youtube_dl\downloader\common.py", line 361, in download
    return self.real_download(filename, info_dict)
  File "c:\dev\python36\lib\site-packages\youtube_dl\downloader\hls.py", line 62, in real_download
    manifest = self.ydl.urlopen(self._prepare_url(info_dict, man_url)).read()
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 2137, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "c:\dev\python36\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
  File "c:\dev\python36\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "c:\dev\python36\lib\urllib\request.py", line 564, in error
    result = self._call_chain(*args)
  File "c:\dev\python36\lib\urllib\request.py", line 504, in _call_chain
    result = func(*args)
  File "c:\dev\python36\lib\urllib\request.py", line 756, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "c:\dev\python36\lib\urllib\request.py", line 526, in open
    response = self._open(req, data)
  File "c:\dev\python36\lib\urllib\request.py", line 544, in _open
    '_open', req)
  File "c:\dev\python36\lib\urllib\request.py", line 504, in _call_chain
    result = func(*args)
  File "c:\dev\python36\lib\site-packages\youtube_dl\utils.py", line 1086, in https_open
    req, **kwargs)
  File "c:\dev\python36\lib\urllib\request.py", line 1318, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "c:\dev\python36\lib\http\client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "c:\dev\python36\lib\http\client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "c:\dev\python36\lib\http\client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "c:\dev\python36\lib\http\client.py", line 1026, in _send_output
    self.send(msg)
  File "c:\dev\python36\lib\http\client.py", line 964, in send
    self.connect()
  File "c:\dev\python36\lib\http\client.py", line 1400, in connect
    server_hostname=server_hostname)
  File "c:\dev\python36\lib\ssl.py", line 401, in wrap_socket
    _context=self, _session=session)
  File "c:\dev\python36\lib\ssl.py", line 808, in __init__
    self.do_handshake()
  File "c:\dev\python36\lib\ssl.py", line 1061, in do_handshake
    self._sslobj.do_handshake()
  File "c:\dev\python36\lib\ssl.py", line 688, in do_handshake
    match_hostname(self.getpeercert(), self.server_hostname)
  File "c:\dev\python36\lib\ssl.py", line 321, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname 'bbcfmt-ic-2d4c8800-14b7be-vehlsuklive.s.loris.llnwd.net' doesn't match either of '*.akamaihd.net', '*.akamaihd-staging.net', '*.akamaized-staging.net', '*.akamaized.net', 'a248.e.akamai.net'
```

```
λ youtube-dl -o - -v --no-check-certificate http://www.bbc.co.uk/sport/live/tennis/39942487 | "C:\Program Files\VideoLAN\VLC\vlc.exe" -
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-o', '-', '-v', '--no-check-certificate', 'http://www.bbc.co.uk/sport/live/tennis/39942487']
[debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252
[debug] youtube-dl version 2017.07.02
[debug] Python version 3.6.0 - Windows-10-10.0.15063-SP0
[debug] exe versions: ffmpeg N-85588-g6108805, ffprobe N-85588-g6108805
[debug] Proxy map: {}
[bbc] 39942487: Downloading webpage
ERROR: Unable to extract playlist data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "c:\dev\python36\lib\site-packages\youtube_dl\YoutubeDL.py", line 762, in extract_info
    ie_result = ie.extract(url)
  File "c:\dev\python36\lib\site-packages\youtube_dl\extractor\common.py", line 433, in extract
    ie_result = self._real_extract(url)
  File "c:\dev\python36\lib\site-packages\youtube_dl\extractor\bbc.py", line 1033, in _real_extract
    webpage, 'playlist data'),
  File "c:\dev\python36\lib\site-packages\youtube_dl\extractor\common.py", line 782, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract playlist data; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
```

Using youtube-dl to watch Wimbledon streams on BBC Sport does not work for me at the moment. Apparently some certificate seems to be invalid (see 1st log) - not sure if this is caused by youtube-dl, but it works in my browser. I then tried to skip the certificate check, but ytdl throws a RegexNotFoundError (see 2nd log). Probably something was changed on the BBC website?