Beispiel #1
0
def isLogin(cookie, setting):
    cookie = decodeCookie(cookie)
    setting = json.loads(setting)
    user = Client("none", "none", cookie=cookie, setting=setting)
    for i in range(3):
        try:
            user.current_user()
            return True
        except ClientConnectionError:
            continue
        except:
            return False
    return False
Beispiel #2
0
class Auth(object):
	isLogin = False

	def __init__(self):
		return

	def __loadSession(self, cl):
		self.auth = cl
		self.isLogin = True

	def login(self, username, password):
		if self.settings:
			if 'settings_session.json' not in os.listdir():
				self.cl = Client(username, password, cookie=self.cookie, on_login=lambda x: onlogin_callback(x, 'settings_session.json'))
				print("[%s] [%s] : Save settings_session.json success" % (str(datetime.now()), self.cl.current_user()['user']['full_name']))
			else:
				self.cl = Client(username, password, cookie=json.load(open('settings_session.json'), object_hook=from_json).get('cookie'), settings=json.load(open('settings_session.json'), object_hook=from_json))
				print("[%s] [%s] : Load settings_session.json success" % (str(datetime.now()), self.cl.current_user()['user']['full_name']))
		else:
			self.cl = Client(username, password, cookie=self.cookie)
		self.token = self.cl.csrftoken
		self.userAgent = self.cl.user_agent
		self.cookie = self.cl.cookie_jar
		self.__loadSession(self.cl)
Beispiel #3
0
        try:
            caption_text = (post['caption']['text'])
            print('Caption:  {} \n'.format(caption_text))
        except:
            print('Caption not available')

        print(' Like Status -> {}'.format(response['status']))
        print('--' * 20)
        sleep(sleep_time)

    return 'Done!'


if __name__ == "__main__":
    user_name = raw_input('Enter your Instagram Username : '******'Enter your Instagram Password : '******'Please wait while logging in....')
    api = Client(user_name, password)
    if not api:
        print('Sorry! Some error, try later!')

    print('Welcome! {}'.format(api.current_user()['user']['full_name']))

    target_user_name = raw_input(
        'Please enter the user you want to like pictures of : ')
    target_user_medias = get_user_medias(target_user_name)
    target_user_media_ids = get_media_ids(target_user_medias)
    print('Starting to 😍😍😍 like {} pictures of {}'.format(
        len(target_user_media_ids), target_user_name))
    like_by_media_ids(target_user_media_ids)
class PostInstagram:
    def __init__(self):

        self.login()

    def to_json(self, python_object):
        if isinstance(python_object, bytes):
            return {
                '__class__': 'bytes',
                '__value__': codecs.encode(python_object, 'base64').decode()
            }
        raise TypeError(repr(python_object) + ' is not JSON serializable')

    def from_json(self, json_object):
        if '__class__' in json_object and json_object['__class__'] == 'bytes':
            return codecs.decode(json_object['__value__'].encode(), 'base64')
        return json_object

    def onlogin_callback(self, api, new_settings_file):
        cache_settings = api.settings
        with open(new_settings_file, 'w') as outfile:
            json.dump(cache_settings, outfile, default=self.to_json)
            print('SAVED: {0!s}'.format(new_settings_file))

    def login(self):
        device_id = None
        try:
            settings_file = "credentials.json"
            if not os.path.isfile(settings_file):
                # settings file does not exist
                print('Unable to find file: {0!s}'.format(settings_file))
                # login new
                self.api = Client(
                    "iustfuckers",
                    "WihvxHPFraosazXactvkPckutxCouHrGiX7CpgLqQsTwcWquLvEwayDJRohZToio",
                    on_login=lambda x: self.onlogin_callback(x, settings_file))
            else:
                with open(settings_file) as file_data:
                    cached_settings = json.load(file_data,
                                                object_hook=self.from_json)
                print('Reusing settings: {0!s}'.format(settings_file))
                device_id = cached_settings.get('device_id')
                self.api = Client(
                    "iustfuckers",
                    "WihvxHPFraosazXactvkPckutxCouHrGiX7CpgLqQsTwcWquLvEwayDJRohZToio",
                    settings=cached_settings)

        except (ClientCookieExpiredError, ClientLoginRequiredError) as e:
            print('ClientCookieExpiredError/ClientLoginRequiredError: {0!s}'.
                  format(e))

            # Login expired
            # Do relogin but use default ua, keys and such
            self.api = Client(
                args.username,
                args.password,
                device_id=device_id,
                on_login=lambda x: self.onlogin_callback(x, settings_file))

        except ClientLoginError as e:
            print('ClientLoginError {0!s}'.format(e))
            exit(9)
        except ClientError as e:
            print('ClientError {0!s} (Code: {1:d}, Response: {2!s})'.format(
                e.msg, e.code, e.error_response))
            exit(9)
        except Exception as e:
            print('Unexpected Exception: {0!s}'.format(e))
            exit(99)

            # Show when login expires
        cookie_expiry = self.api.cookie_jar.expires_earliest
        print('Cookie Expiry: {0!s}'.format(
            datetime.datetime.fromtimestamp(cookie_expiry).strftime(
                '%Y-%m-%dT%H:%M:%SZ')))

    def check(self):
        print(self.api.current_user())

    def post_image(self):
        with open("./image.jpg", "rb") as imageFile:
            photo_data = imageFile.read()
            im = Image.open('./image.jpg')

            results = self.api.post_photo(photo_data,
                                          size=im.size,
                                          caption='HI')
Beispiel #5
0
def ig_login(username, password):
    device_id = None
    settings_file = THIS_FOLDER_G + "/data" + username

    try:
        if not os.path.isfile(settings_file):
            # settings file does not exist
            print('Unable to find file: {0!s}'.format(settings_file))

            # login new
            api = Client(username,
                         password,
                         on_login=lambda x: onlogin_callback(x, settings_file))
        else:
            with open(settings_file) as file_data:
                cached_settings = json.load(file_data, object_hook=from_json)
            print('Reusing settings: {0!s}'.format(settings_file))

            device_id = cached_settings.get('device_id')
            # reuse auth settings
            api = Client(username, password, settings=cached_settings)

        current_user = api.current_user()

    except (ClientCookieExpiredError, ClientLoginRequiredError) as e:
        print(
            'ClientCookieExpiredError/ClientLoginRequiredError: {0!s}'.format(
                e))
        if os.path.isfile(settings_file):
            os.remove(settings_file)
        return {"status": "error", "msg": "Invalid Username or Password."}
        # Login expired
        # Do relogin but use default ua, keys and such
        # settings_file = THIS_FOLDER_G + "/db/data/cookies/" + username + "_" + _ID + ""
        # api = Client(
        #     username, password,
        #     device_id=device_id,
        #     on_login=lambda x: onlogin_callback(x, settings_file))

    except ClientLoginError as e:
        print('ClientLoginError {0!s}'.format(e))
        if os.path.isfile(settings_file):
            os.remove(settings_file)
        return {"status": "error", "msg": "Invalid Username or Password."}

    except ClientError as e:
        print('ClientError {0!s} (Code: {1:d}, Response: {2!s})'.format(
            e.msg, e.code, e.error_response))
        # if os.path.isfile(settings_file):
        #     os.remove(settings_file)
        return {"status": "error", "msg": e.msg}

    except Exception as e:
        print('Unexpected Exception: {0!s}'.format(e))
        return {"status": "error", "msg": "Something went wrong."}

    # Show when login expires
    cookie_expiry = api.cookie_jar.expires_earliest
    print('Cookie Expiry: {0!s}'.format(
        datetime.datetime.fromtimestamp(cookie_expiry).strftime(
            '%Y-%m-%dT%H:%M:%SZ')))
    print('All ok')

    return api
Beispiel #6
0
    print('Please Enter Username and Password in Account.txt')
    exit(0)

PROXY = True

all_proxies = [
    i for i in open('proxy_list.txt', 'r').read().split('\n') if len(i) > 1
]
STATE = True

API = None
PARAMS = None
FRST = 1
try:
    API = Client(user_name, password, authenticate=True)
    current_user_data = API.current_user()['user']
    PARAMS = {
        'username': '',
        'gender': current_user_data['gender'],
        'phone_number': current_user_data['phone_number'],
        'first_name': 'Vnes',  #current_user_data['full_name'],
        'biography': current_user_data['biography'],
        'external_url': current_user_data['external_url'],
        'email': current_user_data['email'],
    }
except:
    ctypes.windll.user32.MessageBoxW(0, 'Loging Error', "Wrong Credentials", 1)
    exit(0)
print('!!Login Successfully!!')