/** * load fresh proxy from gimmy proxy api. * * @todo: error handling */ private function loadFreshProxy() { if (is_null($this->proxies)) { $this->proxies = new LinkedQueue(); } if ($this->last_proxy + $this->max_reload_rate > time()) { //do not load new one because reload limit is violated return; } $this->last_proxy = time(); $raw_return = file_get_contents('http://gimmeproxy.com/api/getProxy'); $json = json_decode($raw_return, true); $this->proxies->enqueue(new Proxy($json['ip'], $json['port'], ProxyType::stringFactory($json['type']), 0, 0, 0, 0)); }