Python urllib.request在Azure笔记本中引发403
问题描述:
试图获取Azure笔记本中的TensorFlow Object Detection API模型,但我尝试的所有内容都提供403 Forbidden。在本地或AWS上检索文件没有问题。Python urllib.request在Azure笔记本中引发403
import six.moves.urllib as urllib
url = 'http://download.tensorflow.org/models/object_detection/rfcn_resnet101_coco_11_06_2017.tar.gz'
opener = urllib.request.URLopener()
opener.retrieve(url)
我尝试添加的User-Agent数据报头等等,但失败。尝试使用wget
,这也给了403。我认为笔记本电脑在docker
容器中运行,所以可能存在一些问题。任何见解或解决方法将不胜感激。
答
Azure笔记本有意限制访问外部URL。这很可能会阻止人们使用笔记本电脑服务对其他网站执行拒绝服务攻击。
访问外部互联网网站受到限制。但是,我们有白色列举了一些重要的网址:
- 所有CRAN的镜子是白名单上,所以你应该可以使用自己喜欢的CRAN镜子安装软件包。
- Github也是白名单,这意味着您可以使用devtools :: install_github()安装不在CRAN上的软件包,或者获取软件包的开发版本。