2017-01-26 16 views
0

私は座標セットでgeopyを使用しようとしています。パスワードで認証されたプロキシでgeopyを使用する

from geopy.geocoders import GoogleV3 
# some coordinates as example 
latitude, longitude = 24.47646, 85.3095 
geolocator = GoogleV3() 
location = geolocator.geocode('%s, %s' (latitude, longitude)) 
address = location.address 
print address 
# this would print something like 
Unnamed Road, Burhia Ahri, Jharkand 825406, India 

私が働いている的環境は、例示の目的のために、認証プロキシ、 を必要とするのは、何かそれを動作させるために、認証プロキシの要件をAsuming

proxy_address = 'http://proxy.tests.mydomain' 
proxy_port = 3128 
proxy_user = 'my_user' 
proxy_pass = 'my_pass' 

のように、私が見てきたとしましょうgeopy github pagethe docsがあり、プロキシが記述されていても、単一の有効なURLは見つかりません。

'proxies'パラメータを使用して辞書を送信しているようですが、どこにも記載されているユーザー/パスワード認証の変種はありません。

これは何か可能なことはありますか?

geolocator = GoogleV3(proxies={'http': proxy_address, 
           'password': my_user + my_pass}) 

編集:同じ問題が発生する可能性があります人のためにスペル

答えて

3

、私はosモジュールで遊ん含ま私の問題への解決策を見つけました。

import os 
def set_proxy(): 
    proxy_addr = 'http://{user}:{passwd}@{address}:{port}'.format(
     user='user_example', passwd='pass_example', 
     address='address_example', port=int('port_example')) 
    os.environ['http_proxy'] = proxy_addr 
    os.environ['https_proxy'] = proxy_addr 

def unset_proxy(): 
    os.environ.pop('http_proxy') 
    os.environ.pop('https_proxy') 

set_proxy() 
geolocator = GoogleV3() 
location = geolocator.geocode('%s, %s' % (latitude, longitude), timeout=10) 
address = location.address 
unset_proxy() 
関連する問題