__all__ = ['robot_twisted']
+from urllib.parse import urlsplit
import threading
import time
from twisted.internet import reactor, _sslverify
-from twisted.web.client import Agent, readBody
+from twisted.internet.endpoints import TCP4ClientEndpoint
+from twisted.web.client import Agent, ProxyAgent, readBody
from twisted.web.http_headers import Headers
import twisted
self.welcome = welcome
return None, None, None, body
- agent = Agent(reactor, connectTimeout=self.timeout)
+ if use_proxy:
+ split_proxy = urlsplit(self.proxy)
+ proxy_host = split_proxy.hostname
+ proxy_port = split_proxy.port
+ endpoint = TCP4ClientEndpoint(reactor, proxy_host, proxy_port)
+ agent = ProxyAgent(endpoint, reactor)
+ else:
+ agent = Agent(reactor, connectTimeout=self.timeout)
url = encode_url(url).encode('ascii')
_headers = {k: [v] for k, v in req_headers.items()}
self.response = self.error = self.body = None