def getCsfrtoken(self): fetch = self.request('si/fetch_headers/', None, True) header = fetch[0] response = ChallengeResponse(fetch[1]) if not header or not response.isOk(): raise InstagramException("Couldn't get challenge, check your connection") # return response #fixme unreachable code match = re.search(r'^Set-Cookie: csrftoken=([^;]+)', fetch[0], re.MULTILINE) if not match: raise InstagramException("Missing csfrtoken") # return $response #fixme unreachable code token = match.group(1) return token[22:]
def setProxy(self, proxy, port=None, username=None, password=None): """ Set the proxy. :type proxy: str :param proxy: Full proxy string. Ex: user:[email protected]:8080 Use $proxy = "" to clear proxy :type port: int :param port: Port of proxy :type username: str :param username: Username for proxy :type password: str :param password: Password for proxy :raises: InstagramException """ self.proxy = proxy if proxy == '': return proxy = parse_url(proxy) if port and isinstance(port, int): proxy['port'] = int(port) if username and password: proxy['user'] = username proxy['pass'] = password if proxy['host'] and proxy['port'] and isinstance(proxy['port'], int): self.proxyHost = proxy['host'] + ':' + proxy['port'] else: raise InstagramException( 'Proxy host error. Please check ip address and port of proxy.') if proxy['user'] and proxy['pass']: self.proxyAuth = proxy['user'] + ':' + proxy['pass']