对于我的网络应用,我试图绕过httplib文件大小限制,谷歌称其使用套接字:
https://developers.google.com/appengine/docs/python/sockets/
将此文件添加到app.yaml文件后,我可以完全正常下载文件:
env_variables:
GAE_USE_SOCKETS_HTTPLIB : 'anyvalue'
然后pygeocoder库失败了:
ConnectionError: HTTPSConnectionPool(host='maps.google.com', port=443):
Max retries exceeded with url: /maps/api/geocode/jsonregion=&sensor=false&bounds=&language=
&address=New+York%2CNew+York+United+States
(Caused by <class 'google.appengine.api.remote_socket._remote_socket_error.error'>:
[Errno 13] Permission denied)
我通过以下方式将SSL导入app.yaml:
- name: ssl
version: latest
当我删除app.yaml文件中的env_variables部分时,pygeocoder库再次工作(但是,我下载大型远程文件的能力中断)。我需要地理编码器功能,以及下载远程文件的能力。是否有一个我失踪的添加配置步骤?感谢
答案 0 :(得分:2)
根据socket documentation&#34; Google IP范围(下面列入白名单的除外),被屏蔽&#34;。您正在调用google maps api,这将被阻止。