Bitly est un service qui vous permet de créer des liens raccourcis qui redirigent vers des URL plus longues et plus complexes. Ces liens raccourcis sont plus faciles à mémoriser, à partager et à suivre que les longues URL d’origine.
Vous pouvez raccourcir des URL sur le site Web de Bitly en utilisant votre propre compte. Bitly propose également une API qui vous permet de raccourcir une URL à partir d’une application. Cela fonctionne en envoyant une demande à Bitly pour raccourcir le lien, que Bitly renverra à votre application.
Vous pouvez intégrer l’API Bitly dans un simple script Python.
Comment générer un jeton d’accès à l’aide d’un compte Bitly ?
Vous aurez besoin d’un jeton d’accès pour utiliser l’API Bitly. Si vous n’avez pas encore de compte Bitly, créez-en un pour générer un nouveau jeton d’accès.
- À partir du tableau de bord ou de la page principale de votre compte Bitly, utilisez le menu latéral pour naviguer vers l’onglet Paramètres page :
- Sur le côté gauche, sous Paramètres du développeurcliquez sur API:
- Cliquez sur Générer un jeton.
- Bitly va générer un nouveau jeton d’accès. Enregistrez le jeton pour plus tard. Vous devrez peut-être saisir à nouveau votre mot de passe pour afficher le jeton.
Comment demander une longue URL à l’utilisateur à l’aide d’un script Python ?
Vous pouvez maintenant utiliser votre jeton d’accès dans un script Python. Si vous n’êtes pas familier avec Python, il existe d’autres projets que vous pouvez réaliser pour améliorer vos connaissances de Python. Il s’agit notamment de la construction d’un calendrier GUI ou d’un jeu de mots mêlés.
Avant d’utiliser l’API, l’utilisateur devra saisir l’URL qu’il souhaite raccourcir. Vous pouvez utiliser des arguments de ligne de commande pour entrer le lien dans le script Python. Vous pouvez consulter l’exemple complet dans ce repo GitHub.
- Créez un script Python appelé shortURL.py et ajoutez les importations suivantes en haut du fichier. Ceux-ci vous permettront d’utiliser la fonctionnalité de demande et de réponse API dans votre fichier Python. Vous pouvez utiliser le module sys pour accepter des arguments de ligne de commande.
import requests
import json
import time
import sys - Plus tard, lorsque vous exécuterez le script Python, vous pourrez saisir l’URL que vous souhaitez raccourcir directement dans la ligne de commande, comme ceci :
python shortURL.py https://www.example.com/a/made/up/url
Pour que cela fonctionne, utilisez le module sys pour obtenir une liste des arguments de la ligne de commande :
commandLineArgs = sys.argv
- Vérifiez s’il y a des arguments de ligne de commande. Si c’est le cas, enregistrez le lien dans une variable. Sinon, affiche un message indiquant à l’utilisateur de réexécuter la commande avec l’URL saisie comme argument de ligne de commande :
if len(commandLineArgs) > 1:
url = commandLineArgs[1]
else:
print('Please enter the URL you want to shorten as a command line argument')
sys.exit() - Imprimez un message de mise à jour du statut pour l’utilisateur :
print('Generating shortened URL...')
Comment utiliser l’API Bitly pour raccourcir l’URL
Une fois que vous avez l’URL dans le script Python, utilisez l’API pour envoyer une demande à Bitly afin de raccourcir l’URL.
- Stockez votre jeton d’accès que vous avez généré à partir de Bitly dans les étapes précédentes :
access_token = 'YOUR ACCESS TOKEN'
- Stockez le point de terminaison Bitly utilisé pour raccourcir les URL :
endpoint = 'https://api-ssl.bitly.com/v4/shorten'
- Créez les en-têtes de l’API que vous inclurez dans la requête. Cela vérifie votre accès à l’API en utilisant votre jeton d’accès :
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json',
} - Une demande peut potentiellement échouer pour diverses raisons, notamment des problèmes de réseau ou de serveur. Utilisez un compteur de tentatives qui renverra les demandes si elles échouent jusqu’à trois fois :
max_retries = 3
retry_count = 0
while retry_count < max_retries:
# Send request
else:
print('URL shortening was not successful.') - A l’intérieur de la boucle while, envoyez la requête incluant l’URL longue, et stockez la réponse :
data = {
'long_url': url,
}
response = requests.post(endpoint, headers=headers, data=json.dumps(data)) - Vérifiez si la réponse est réussie. Si c’est le cas, la réponse comprendra des données. Ces données contiendront la valeur de la chaîne de l’URL raccourcie. Imprimez cette information à l’utilisateur et quittez le programme :
if response.status_code == 200:
shortened_url = json.loads(response.content)['link']
print(f'Shortened URL: {shortened_url}')
break - Si la réponse n’a pas abouti, augmentez le compteur de tentatives et attendez un peu avant de réessayer :
else:
retry_count += 1
if retry_count < max_retries:
time.sleep(5)
Comment tester la nouvelle URL dans le navigateur ?
Exécutez le script Python dans la ligne de commande pour générer un nouveau lien raccourci. Vous pouvez entrer le nouveau lien dans le navigateur Web et il redirigera vers le lien original, plus long.
- Dans une ligne de commande ou un terminal, naviguez vers le dossier où vous avez stocké votre script Python. Si vous l’avez stocké sur un bureau Windows, votre commande ressemblerait à ceci :
cd C:\Users\Sharl\Desktop
- Installez le module requests, afin que le script Python puisse le reconnaître :
pip install requests
- Exécutez le script Python en utilisant la commande python. Après le nom du fichier, entrez un lien long comme argument de ligne de commande :
python shortURL.py https://www.makeuseof.com/tag/3-ways-run-android-apps-windows/
- Attendez que le lien raccourci soit généré :
- Copiez le lien et entrez-le dans le navigateur. Le lien court sera redirigé vers le lien plus long que vous avez entré précédemment :
Création de liens raccourcis à l’aide de Bitly
Vous comprenez maintenant comment raccourcir des liens en Python pour obtenir des liens plus faciles à mémoriser. Vous pouvez utiliser votre script pour raccourcir tout lien long avant de le partager avec d’autres personnes. Il est également important de prendre les mesures nécessaires pour s’assurer que le lien est sûr.