def api_req(api_endpoint, access_token, req): try: p_req = pokemon_pb2.RequestEnvelop() p_req.unknown1 = 2 p_req.rpc_id = 8145806132888207460 p_req.requests.MergeFrom(req) p_req.latitude, p_req.longitude, p_req.altitude = get_location_coords() p_req.unknown12 = 989 p_req.auth.provider = 'ptc' p_req.auth.token.contents = access_token p_req.auth.token.unknown13 = 59 protobuf = p_req.SerializeToString() r = SESSION.post(api_endpoint, data=protobuf, verify=False) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) return p_ret except Exception, e: if DEBUG: print(e) return None
def do_request(self, location, *args, **kwargs): (lat, lon) = location p_req = pokemon_pb2.RequestEnvelop() p_req.rpc_id = 1469378659230941192 p_req.unknown1 = 2 (p_req.latitude, p_req.longitude, p_req.altitude) = \ (f2i(lat), f2i(lon), 0) p_req.unknown12 = 989 if 'useauth' not in kwargs or not kwargs['useauth']: p_req.auth.provider = self.access_token.provider p_req.auth.token.contents = self.access_token.value p_req.auth.token.unknown13 = 14 else: p_req.unknown11.unknown71 = kwargs['useauth'].unknown71 p_req.unknown11.unknown72 = kwargs['useauth'].unknown72 p_req.unknown11.unknown73 = kwargs['useauth'].unknown73 for arg in args: p_req.MergeFrom(arg) protobuf = p_req.SerializeToString() url = self.api_endpoint or API_URL r = self.session.post(url, protobuf) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) return p_ret
def api_req(self, api_endpoint, access_token, *args, **kwargs): p_req = pokemon_pb2.RequestEnvelop() p_req.rpc_id = 1469378659230941192 p_req.unknown1 = 2 (p_req.latitude, p_req.longitude, p_req.altitude) = \ self.location.get_location_coords() p_req.unknown12 = 989 if 'useauth' not in kwargs or not kwargs['useauth']: p_req.auth.provider = self.service p_req.auth.token.contents = access_token p_req.auth.token.unknown13 = 14 else: p_req.unknown11.unknown71 = kwargs['useauth'].unknown71 p_req.unknown11.unknown72 = kwargs['useauth'].unknown72 p_req.unknown11.unknown73 = kwargs['useauth'].unknown73 for arg in args: p_req.MergeFrom(arg) protobuf = p_req.SerializeToString() r = SESSION.post(api_endpoint, data=protobuf, verify=False) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) time.sleep(0.51) return p_ret
def api_req(service, api_endpoint, access_token, *mehs, **kw): while True: try: p_req = pokemon_pb2.RequestEnvelop() p_req.rpc_id = 2508056722472460033 p_req.unknown1 = 2 p_req.latitude, p_req.longitude, p_req.altitude = get_location_coords() p_req.unknown12 = 989 if 'useauth' not in kw or not kw['useauth']: p_req.auth.provider = service p_req.auth.token.contents = access_token p_req.auth.token.unknown13 = 14 else: p_req.unknown11.unknown71 = kw['useauth'].unknown71 p_req.unknown11.unknown72 = kw['useauth'].unknown72 p_req.unknown11.unknown73 = kw['useauth'].unknown73 for meh in mehs: p_req.MergeFrom(meh) protobuf = p_req.SerializeToString() r = SESSION.post(api_endpoint, data=protobuf, verify=False) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) if DEBUG: print("REQUEST:") print(p_req) print("Response:") print(p_ret) print("\n\n") if DEBUG: print("[ ] Sleeping for 1 second") time.sleep(1) return p_ret except Exception, e: if DEBUG: print(e) print('[-] API request error, retrying') time.sleep(3) continue
def api_req(login_type, api_endpoint, access_token, *mehs, **kw): try: p_req = pokemon_pb2.RequestEnvelop() p_req.rpc_id = 1469378659230941192 p_req.unknown1 = 2 p_req.latitude, p_req.longitude, p_req.altitude = get_location_coords() p_req.unknown12 = 989 if 'useauth' not in kw or not kw['useauth']: print "api_req: login_type", login_type p_req.auth.provider = login_type p_req.auth.token.contents = access_token p_req.auth.token.unknown13 = 14 else: p_req.unknown11.unknown71 = kw['useauth'].unknown71 p_req.unknown11.unknown72 = kw['useauth'].unknown72 p_req.unknown11.unknown73 = kw['useauth'].unknown73 for meh in mehs: p_req.MergeFrom(meh) protobuf = p_req.SerializeToString() r = SESSION.post(api_endpoint, data=protobuf, verify=False) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) if DEBUG: print("REQUEST:") print(p_req) print("Response:") print(p_ret) print("\n\n") print("Sleeping for 2 seconds to get around rate-limit.") time.sleep(2) return p_ret except Exception, e: if DEBUG: print(e) return None
def api_req(service, api_endpoint, access_token, *args, **kwargs): p_req = pokemon_pb2.RequestEnvelop() p_req.rpc_id = 1469378659230941192 p_req.unknown1 = 2 (p_req.latitude, p_req.longitude, p_req.altitude) = \ get_location_coords() p_req.unknown12 = 989 if 'useauth' not in kwargs or not kwargs['useauth']: p_req.auth.provider = service p_req.auth.token.contents = access_token p_req.auth.token.unknown13 = 14 else: p_req.unknown11.unknown71 = kwargs['useauth'].unknown71 p_req.unknown11.unknown72 = kwargs['useauth'].unknown72 p_req.unknown11.unknown73 = kwargs['useauth'].unknown73 for arg in args: p_req.MergeFrom(arg) protobuf = p_req.SerializeToString() session = local_data.api_session r = session.post(api_endpoint, data=protobuf, verify=False) p_ret = pokemon_pb2.ResponseEnvelop() p_ret.ParseFromString(r.content) if False: # VERBOSE_DEBUG print 'REQUEST:' print p_req print 'Response:' print p_ret print '\n\n' time.sleep(0.51) return p_ret