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()
Comments
Post a Comment