Python urllib.request在Azure笔记本中引发403

时间:2017-08-04 20:24:45

标签: python azure http urllib

尝试在Azure笔记本中获取TensorFlow对象检测API模型,但我尝试的所有内容都提供了403 Forbidden。在本地或AWS上检索文件没有问题。

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)

我尝试将用户代理数据添加到标头等但失败了。使用wget尝试并且也给了403。我认为笔记本电脑在docker容器中运行,所以可能存在一些问题。任何见解或解决方案都将非常感激。

1 个答案:

答案 0 :(得分:2)

Azure笔记本有意限制对外部URL的访问。这很可能会阻止人们使用笔记本电脑服务对其他网站进行拒绝服务攻击。

https://blogs.technet.microsoft.com/machinelearning/2016/03/30/jupyter-notebooks-with-r-in-azure-ml-studio-2/

  

限制访问外部互联网网站。但是,我们列出了一些重要的网址:

     
      
  • 所有CRAN镜像都在白名单上,因此您应该可以使用自己喜欢的CRAN镜像安装软件包。
  •   
  • Github也是白名单,这意味着您可以使用devtools :: install_github()来安装不在CRAN上的软件包,或者获取软件包的开发版本。
  •