python - Setting proxy parameter in qgis plugins. How to -


for interested found definitive way set proxy settings within qgis plugin in user-transparent way. useful if plan use webservices urllib or qwebwiew. using qsetting function possible read , write user application options setting stored in registry qgis application. problem registry keys use not documented, digging qgis source possible find them , use in plugin other purpouse. here block of code set proxy parameters.

    # procedure set proxy if needed     s = qsettings() #getting proxy qgis options settings     proxyenabled = s.value("proxy/proxyenabled", "")     proxytype = s.value("proxy/proxytype", "" )     proxyhost = s.value("proxy/proxyhost", "" )     proxyport = s.value("proxy/proxyport", "" )     proxyuser = s.value("proxy/proxyuser", "" )     proxypassword = s.value("proxy/proxypassword", "" )     if proxyenabled == "true": # test if there proxy settings        proxy = qnetworkproxy()        if proxytype == "defaultproxy":            proxy.settype(qnetworkproxy.defaultproxy)        elif proxytype == "socks5proxy":            proxy.settype(qnetworkproxy.socks5proxy)        elif proxytype == "httpproxy":            proxy.settype(qnetworkproxy.httpproxy)        elif proxytype == "httpcachingproxy":            proxy.settype(qnetworkproxy.httpcachingproxy)        elif proxytype == "ftpcachingproxy":            proxy.settype(qnetworkproxy.ftpcachingproxy)        proxy.sethostname(proxyhost)        proxy.setport(int(proxyport))        proxy.setuser(proxyuser)        proxy.setpassword(proxypassword)        qnetworkproxy.setapplicationproxy(proxy) 

you should use qgsnetworkaccessmanager provided qgis. proxy automatically set you.

from qgis.core import qgsnetworkaccessmanager network_manager = qgsnetworkaccessmanager.instance() 

http://qgis.org/api/classqgsnetworkaccessmanager.html


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -