浏览代码

[go] Improve geo restriction detection and use geo bypass mechanism

Sergey M․ 8 年之前
父节点
当前提交
e633f21a96
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      youtube_dl/extractor/go.py

+ 4 - 0
youtube_dl/extractor/go.py

@@ -101,6 +101,10 @@ class GoIE(AdobePassIE):
                         video_id, data=urlencode_postdata(data), headers=self.geo_verification_headers())
                         video_id, data=urlencode_postdata(data), headers=self.geo_verification_headers())
                     errors = entitlement.get('errors', {}).get('errors', [])
                     errors = entitlement.get('errors', {}).get('errors', [])
                     if errors:
                     if errors:
+                        for error in errors:
+                            if error.get('code') == 1002:
+                                self.raise_geo_restricted(
+                                    error['message'], countries=['US'])
                         error_message = ', '.join([error['message'] for error in errors])
                         error_message = ', '.join([error['message'] for error in errors])
                         raise ExtractorError('%s said: %s' % (self.IE_NAME, error_message), expected=True)
                         raise ExtractorError('%s said: %s' % (self.IE_NAME, error_message), expected=True)
                     asset_url += '?' + entitlement['uplynkData']['sessionKey']
                     asset_url += '?' + entitlement['uplynkData']['sessionKey']