TP2⚓︎
Réaliser un compte rendu de ce TP en html/css.
Mes premières requêtes⚓︎
-
A partir de l'ENT, aller dans
Capytale
, créer un nouveau notebook. -
Recopier les lignes suivantes et les éxécuter:
import requests
r = requests.get('https://html.brunache.ovh/')
r.encoding = 'utf-8'
print(r.headers)
print(r.text)
D'après vos connaissances, vos recherches ou votre intuition, que font ces lignes de code.
-
Réaliser une requête
get
sur la ressourcehttps://html.brunache.ovh/conversation.html
-
Réaliser une requête vidant la conversation (vérifier que cela fonctionne en allant sur le site https://html.brunache.ovh/conversation.html. On rappelle que le fichier sur le serveur produisant le fichier
conversation.html
est le suivant:
import os
from flask import Flask, render_template, request, redirect
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
# Flask est un micro framework open-source de developpement
# web en Python
# creation de l'application web
app = Flask('Conversation', template_folder=template_dir)
conversationlist = ['Hello', 'Bonjour'] # la conversation a afficher
@app.route('/conversation.html') # le chemin appelant la fonction index()
def conversation():
""" Retourne la page web venant du patron avec la variable conversation
"""
return render_template('conversation.html', messages=conversationlist)
# Associe au chemin message la fonction ci-dessous
@app.route('/message', methods=['POST'])
def nouveau_message():
""" Ajoute un message a la conversation """
message = request.form['Message'] # Extrait le message du formulaire
# Insere le message au debut de la conversation
conversationlist.insert(0, message)
return redirect('/conversation.html') # Renvoie la page dynamique
@app.route('/empty', methods=['POST'])
def vider():
conversationlist.clear()
return redirect('/conversation.html')
@app.route('/recherche.html')
def recherche():
recherchelist = []
for message in conversationlist:
if request.args.get('motclef') in message:
recherchelist.append(message)
return render_template('conversation.html', messages=recherchelist)
if __name__ == "__main__":
app.run()
post
sur la ressource https://httpbin.org/post avec l'information clef
valant valeur
se fait en faisant:
r = requests.post('https://httpbin.org/post', data={'clef': 'valeur'})
Bonjour votre prénom
à la conversation (vérifier en allant sur le site https://html.brunache.ovh/conversation.html)
-
Dans le navigateur taper dans la barre d'URL: https://html.brunache.ovh/recherche.html?motclef=Hello, essayer de comprendre ce que cela fait, changer éventuellement le mot clef dans l'URL.
-
Faire la même genre de requête dans capytale.