有人能够解释如何使Ghost.py与代理一起工作吗?我查过密码了,但不在那里。
发布于 2014-01-22 09:25:39
我在ghost.py文件中找到了它。他们在这方面做得很好。它是第835行中的一个方法,如set_proxy()。我还没有试过如何使用它:
def set_proxy(self, type_, host='localhost', port=8888, user='',
password=''):
"""Set up proxy for FURTHER connections.
:param type_: proxy type to use: \
none/default/socks5/https/http.
:param host: proxy server ip or host name.
:param port: proxy port.
"""
_types = {
'default': QNetworkProxy.DefaultProxy,
'none': QNetworkProxy.NoProxy,
'socks5': QNetworkProxy.Socks5Proxy,
'https': QNetworkProxy.HttpProxy,
'http': QNetworkProxy.HttpCachingProxy
}
if type_ is None:
type_ = 'none'
type_ = type_.lower()
if type_ in ['none', 'default']:
self.manager.setProxy(QNetworkProxy(_types[type_]))
return
elif type_ in _types:
proxy = QNetworkProxy(_types[type_], hostName=host, port=port,
user=user, password=password)
self.manager.setProxy(proxy)
else:
raise ValueError('Unsupported proxy type:' + type_ \
+ '\nsupported types are: none/socks5/http/https/default')我现在不明白"QNetworkProxy.DefaultProxy“是什么意思。据说它是默认的代理。那么,默认的代理是什么?
发布于 2014-01-21 17:19:22
如果在Ghost.py中基于Qt建立tcp连接,那么您可以使用Qt/PySide,请参阅QNetworkProxy::setApplicationProxy()。否则,如果Ghost.py不使用Qt,而是使用curl,则尝试设置环境变量"http_proxy“。
发布于 2014-01-23 10:02:26
文档说,QNetworkProxy.DefaultProxy: Proxy是基于使用setApplicationProxy()的应用程序代理集确定的,因此如果由QNetworkProxy::setApplicationProxy()设置代理,那么调用set_proxy('default')就会使用它(它将把代理传递给self.manager,我猜它就是QNetworkAccessManager对象)。
https://stackoverflow.com/questions/21263960
复制相似问题