Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.
Modérateur :Vilains modOOs
Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Rem ***** BASIC *****
Sub Main
Rem En premier nous devons créer le service UNO OAuth2Service
oauth2 = CreateUnoService("io.github.prrvchr.OAuth2OOo.OAuth2Service")
Rem Pour exécuter une requête HTTP il nous faut un paramètre de requête HTTP
parameter = oauth2.getRequestParameter("httpbin")
Rem La méthode HTTP par défaut est GET mais peut être changée (ie: parameter.Method = "PUT")
parameter.Url = "https://httpbin.org/ip"
Rem L'authentification par défaut est OAuth2 mais peut être désactivée par:
parameter.NoAuth = True
Rem Pour obtenir la réponse HTTP nous utilisons la méthode execute()
Rem du service OAuth2Service avec le paramètre HTTP comme argument
response = oauth2.execute(parameter)
If response.Ok Then
Msgbox response.Text
End If
Rem Quand on a terminé nous devons fermer le réponse HTTP.
response.close()
End Sub
Par contre je suis étonné que ce soit une com.sun.star.rest.ConnectTimeoutException qui remonte normalement avec le bug 128569 cela devrait être: com.sun.star.rest.ConnectionException
Il faut noter également que le site: httpbin.org peut être surchargé et générer des erreurs com.sun.star.rest.ConnectTimeoutException ou com.sun.star.rest.ReadTimeoutException s'il ne répond pas dans les 5 et 30 seconds respectivement. Ces délais peuvent être ajustés dans: Outils -> Options -> Internet - > OAuth2 protocole -> Temps d'attente sur connexion / lecture des requêtes
psilocybe a écrit : ↑14 juin 2023 13:20Oui c'est normal cela ne fonctionne pas avec OpenOffice sous Windows quelle que soit la version de Windows (voir bug 128569).
Cela aurait été aimable de le mentionner au début.
M'évitant ainsi de tester pour rien.
psilocybe a écrit : ↑14 juin 2023 13:20Oui c'est normal cela ne fonctionne pas .
rollmops a écrit : ↑14 juin 2023 13:46Cela aurait été aimable de le mentionner au début.
rollmops a raison.
Vous avez mis en pièce jointe votre extension. Comment voulez-vous y trouver les prérequis et le reste ?
Il vous revient de donner aux personnes qui veulent bien réaliser des tests les renseignements nécessaires dès l'ouverture du sujet.
Touche Ctrl de Windows = touche cmd⌘ sur Mac Outils > Options sur Windows = OpenOffice > Préférences sur macOS
micmac a écrit : ↑14 juin 2023 14:47rollmops a raison.
Vous avez mis en pièce jointe votre extension. Comment voulez-vous y trouver les prérequis et le reste ?
Il vous revient de donner aux personnes qui veulent bien réaliser des tests les renseignements nécessaires dès l'ouverture du sujet.
Il faut se plaindre à la modération, elle ne m'a laissé que 5 minutes pour créer ce post et l' a verrouillé aussitôt.
Étant verrouillé je ne peux plus le modifier...
De plus on ne peux pas dire que cela ne marche pas puisse qu'on arrive quand même à exécuter des requêtes (sans utiliser ssl) en http...
Et enfin ce post n'a pas été mis en ligne pour des besoin de tests, ceux ci on déjà été réalisés, mais uniquement pour permettre à tous utilisateurs du langage Basic de LibreOffice / OpenOffice d'effectuer des requêtes HTTP, car jusqu’à présent ceci n’était pas encore possible à ma connaissance.
Dernière modification par psilocybe le 14 juin 2023 15:18, modifié 1 fois.
psilocybe a écrit : ↑14 juin 2023 14:56
la modération [...] ne m'a laissé que 5 minutes pour créer ce post et l' a verrouillé
Merci de ne pas dire n'importe quoi, le premier post a été créé à 15h56, et la dernière modification faite par vos soins (visible en bas de post) est réalisée à 16h27.
Ajout : Devant votre refus d'obtempérer pour la balise, verrouillage du post à 16h41, soit 45 minutes après création. Merci de tenir compte des remarques de la modération si vous ne voulez pas que l'on verrouille vos messages !
Oukcha a écrit : ↑14 juin 2023 15:17
Merci de ne pas dire n'importe quoi, le premier post a été créé à 15h56, et la dernière modification faite par vos soins (visible en bas de post) est réalisée à 16h27.
Et pourquoi je n'ai droit qu'a 31 minutes pour rédiger un post? Et cela ne change rien au fait que je ne peut plus le modifier...
Et puis vous êtes d'une mauvaise foi accablante, voilà ce qui c'est passé:
J'ai procédé à la modification du titre de post suite au message de Bidouille pour mettre [BASIC] Faire des requêtes HTTP avec Basic
Bidouille à modifier de nouveau le titre pour mettre: [Basic] Faire des requêtes HTTP GET et PUT
Je fais remarquer à Bidouille que l'on était pas limité au seul méthodes GET et PUT et j'ai changer à nouveau le titre par [Basic] Faire des requêtes HTTP avec Basic
Vous avez effacées les 4 messages que l'on c’était échangé avec Bidouille, vous avez changer à nouveau le titre par [Basic] Faire des requêtes HTTP et vous avez verrouiller le post.
Tout ça pour une balise, normalement si il y a bien une balise c'est moi qui choisi le titre du post c'est pas vous.
Je crois que vous prenez un malin plaisir à essayer de m’embêter pour rester poli, mais c'est vous qui vous ridiculisez.
Dernière modification par psilocybe le 14 juin 2023 19:00, modifié 7 fois.
psilocybe a écrit : ↑14 juin 2023 14:56
De plus on ne peux pas dire que cela ne marche pas puisse qu'on arrive quand même à exécuter des requêtes (sans utiliser ssl) en http...
Je trouve que mettre en ligne une extension qui ne fonctionne, dans certaines conditions, que par contournement mériterait, à tout le moins, une explication préalable.
Bonsoir.
AOO 4.1.15 et LibO 24.2.6 / macOS Intel 13.7.1 Ventura
Adoptium-temurinJDK-jre_1.8.0_432 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC Tutoriels du forum pour macOS Pour sauvegarder vos documents c'est ceinture ET bretelles
psilocybe a écrit : ↑14 juin 2023 13:20
Oui c'est normal cela ne fonctionne pas avec OpenOffice sous Windows quelle que soit la version de Windows (voir bug 128569).
En fait avec ce bug on est incapable de faire du https par contre si tu essaye avec:
C'est bizarre parce qu'avec l'extension EasyDev qui utilise du python et qui fonctionne dans openOffice et LibreOffice j'arrive à utiliser le https.
Exemple de code qui va récupérer une page https :
Jurassic Pork a écrit : ↑14 juin 2023 15:47
C'est bizarre parce qu'avec l'extension EasyDev qui utilise du python et qui fonctionne dans openOffice et LibreOffice j'arrive à utiliser le https.
Alors ça par contre c'est très intéressant, parce que je n'ai aucune raison valable à donner pour expliquer le bug 128569.
Je pense que c'est un bon point de départ pour mener plus d'investigations.
Merci Jurassic Pork
Peut être que tu sais où l'on peut trouver le code source de cette extension EasyDev ?
psilocybe a écrit : ↑14 juin 2023 15:54
Peut être que tu sais où l'on peut trouver le code source de cette extension EasyDev ?
Ben oui c'est dans mon github ici . L' url original de Mauricio ne semble plus disponible mais dans mon github il y a la dernière version.
Plus d'infos sur l'extension dans le forum ici
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
REM ***** BASIC *****
Sub Main
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "http://httpbin.org/ip"
response = util.requests(data)
Msgbox(response.Text)
End Sub
Pour des raisons techniques tous mes tests sous Windows sont effectués sous Lubuntu 22.04 / VirtualBox 6.1.38, mais j'ose espérer que cela ne soit pas la source du problème.
psilocybe a écrit : ↑15 juin 2023 09:22
tous mes tests sous Windows sont effectués sous Lubuntu 22.04
Pour placer vos versions d' OpenOffice et votre système d'exploitation, cliquez sur ce lien : ucp.php?i=profile&mode=signature et saisissez directement ces informations.
LibreOffice 7.4.3.2 (x64) / Windows 10 (x64) / Python 3.8.15 (sous VirtualBox 6.1.38 / Lubuntu 22.04) -> installation Ok, mais ne fonctionne qu'en http
OpenOffice 4.1.14 / Windows 10 (x64) / Python 2.7.18 (sous VirtualBox 6.1.38 / Lubuntu 22.04) -> installation Ok, mais ne fonctionne qu'en http
OpenOffice 4.1.14 / Windows 10 (x32) / Python 2.7.18 (sous VirtualBox 6.1.38 / Lubuntu 22.04) -> installation Ok, mais ne fonctionne qu'en http
Par contre chose bizarre si j’installe EasyDev et OAuth2OOo sous OpenOffice 4.0.1 / Windows 7 (x64) / Python 2.7.5 (sous VirtualBox 6.1.38 / Lubuntu 22.04), j’exécute la macro précédente en http puis je vais voir dans les log de OAuth2OOo: le module ssl se charge bien!!!
J'arrive à reproduire la bizarrerie aussi avec OpenOffice 4.1.14 / Windows 7 (x64) / Python 2.7.18 (sous VirtualBox 6.1.38 / Lubuntu 22.04)
Mais quoi qu'il en soit EasyDev ne support pas le https avec OpenOffice sous Windows quelque soit la version, puisque j'ai systématiquement l'erreur suivante:
EasyDev ssl error.png
Comme EasyDev et OAuth2OOo ne fonctionne pas en https dans les mêmes environnements (version OpenOffice et version OS), alors je pense raisonnablement qu'on ne peut considérer l'empaquetage du python pour OpenOffice sous Windows que comme défectueux.
Je pensais pouvoir trouver un contournement, mais il appartient bien à OpenOffice de régler le bug 128569
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Sub RecubWeb()
dim util as Object, data as object, response as object
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "https://httpbin.org/ip"
response = util.requests(data)
Msgbox(response.Text)
End Sub
httpbin.png
Ce n'est pas mon adresse I.P mais l'adresse I.P d'un serveur VPN situé à Hong Kong
D'autre part je confirme que EasyDev ne s'installe pas avec un python 3.10 (sous windows c'est du python 3.8 )
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
Jurassic Pork a écrit : ↑15 juin 2023 17:14
moi avec ce code dans OpenOffice 4.1.14 sous Windows 11 je n'ai pas d'erreur :
Je n'ai pas de Windows 11 installé sous VirtualBox (je vais cloner un Windows 10 et lancer une mise à jour)
Par contre j'ai écris une macro python qui permet de savoir si import ssl produit des erreurs.
Il suffit de mettre le fichier importSSL.py dans: %UserProfile%\AppData\Roaming\OpenOffice\4\user\Scripts\python
Hello,
le problème est peut-être dû au certificat SSL :
Pour savoir si c'est cela dans le requests mettre le paramètre verify à False :
Exemple avec easyDev :
Sub RecupWeb()
dim data as object, response as object
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "https://google.fr"
args = Array( Array("verify", False))
data.Args = args
response = util.requests(data)
Msgbox(response.Text)
End Sub
On peut essayer aussi d'indiquer son certificat, exemple :
Sub RecupWeb()
dim data as object, response as object
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "https://google.fr"
args = Array( Array("verify", "d:/tmp/cacert.pem"))
data.Args = args
response = util.requests(data)
Msgbox(response.Text)
End Sub
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
Jurassic Pork a écrit : ↑16 juin 2023 11:38
le problème est peut-être dû au certificat SSL
Merci pour l'info, mais j'ai déjà tester avec parameter.NoVerify = True et pour moi cela ne fonctionne pas non plus...
De plus EasyDev utilise Requests version 2.9.x et OAuth2OOo Requests version 2.27.1 (dernière version compatible avec python 2) d’où peut être une différence dans la gestion du paramètre Requests verify
Mais personnellement je pense que ssl n'est pas une option.
Par contre comme je ne peux pas tester sous Windows 11 (manque de RAM j'ai seulement 4Go) je suis vivement intéressé de savoir ce que donne la macro python testant le chargement du module ssl sous ta configuration Windows 11 sous laquelle tu arrives à exécuter des requêtes https avec EasyDev.
Ce qu'il devrait en ressortir:
Si le module ssl se charge alors on sera gère plus avancé...
Si le module ssl ne se charge pas, alors EasyDev n'utilise pas ssl...
psilocybe a écrit : ↑16 juin 2023 12:00
Par contre comme je ne peux pas tester sous Windows 11 (manque de RAM j'ai seulement 4Go) je suis vivement intéressé de savoir ce que donne la macro python testant le chargement du module ssl sous ta configuration Windows 11 sous laquelle tu arrives à exécuter des requêtes https avec EasyDev.
ResTestSSL.png
Si dans le code EasyDev je met un certificat qui n'existe pas j'ai le même message d'erreur que toi -> Variable d'objet non défini :
Jurassic Pork a écrit : ↑16 juin 2023 13:09
ResTestSSL.png
Si la macro importSSL.py fonction alors le code Basic donnée initialement devrait fonctionner? Peut tu me confirmer ou pas...
Par contre je viens de m’apercevoir d’où viens la bizarrerie: si je lance plusieurs fois la macro importSSL.py sous Windows 7 alors au bout d'un certain nombre de fois (aléatoire...) le module ssl se charge bien...
Curieux...
Dernière modification par psilocybe le 16 juin 2023 13:48, modifié 1 fois.
Jurassic Pork a écrit : ↑16 juin 2023 13:36
sinon il faut se méfier des certificats dans une machine virtuelle
J'ose espérer que cela ne vienne pas de là, vue le temps que j'ai déjà passé sur ce problème...
Voilà les résultats des tests que j'ai pu faire:
Sous Windows 7 si je lance plusieurs fois la macro importSSL.py alors une fois que le chargement a réussi, les requêtes HTTP fonctionne parfaitement en https avec OAuth2OOo.
Sous Windows 10 (x64 ou x86) je n'arrive pas à faire fonctionner la macro importSSL.py quoi qu'il en soit...
Par contre pourrais tu, s'il te plaît, me confirmer que sous Windows 11, si la macro importSSL.py ne produit pas d'erreur alors la macro https avec OAuth2OOo fonctionne aussi?