[Issue][OXT] Faire des requêtes HTTP en Basic

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: 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 !
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

[Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

Salut à tous,

Il est possible de faire des requêtes HTTP avec Basic.

Vous devez d'abord installer l'extension OAuth2OOo.

et voici un exemple de code Basic :

Code : Tout sélectionner

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
oauth2 est défini dans le fichier idl XOAuth2Service.idl
parameter est défini dans le fichier idl XRequestParameter.idl
response est définie dans le fichier idl XRequestResponse.idl

A vous d'en profiter...
Dernière modification par psilocybe le 13 juin 2023 14:27, modifié 3 fois.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
rollmops
PassiOOnné
PassiOOnné
Messages : 692
Inscription : 20 déc. 2017 14:45

Re: [Basic] Faire des requêtes HTTP

Message par rollmops »

Bonjour,

J'ai testé sous OpenOffice. Ca ne marche pas.
2023-06-14 10_29_46-Sans nom 1.ods.Standard - OpenOffice Basic.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.15 - Windows 10
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

Salut rollmops,

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:

Code : Tout sélectionner

parameter.Url = "http://httpbin.org/ip"
cela doit fonctionner...

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
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
rollmops
PassiOOnné
PassiOOnné
Messages : 692
Inscription : 20 déc. 2017 14:45

Re: [Basic] Faire des requêtes HTTP

Message par rollmops »

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. :roll:
M'évitant ainsi de tester pour rien.
OpenOffice 4.1.15 - Windows 10
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

En fait c'est déjà dit dans les Prérequis: et dans le A été testé avec: de la documentation.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9580
Inscription : 28 août 2010 08:45

Re: [Basic] Faire des requêtes HTTP

Message par micmac »

Bonjour,
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. :roll:
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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

micmac a écrit : 14 juin 2023 14:47 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.
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.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4117
Inscription : 06 oct. 2008 08:03

Re: [Basic] Faire des requêtes HTTP

Message par Oukcha »

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 ! 
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

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.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9659
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: [Basic] Faire des requêtes HTTP

Message par tintin »

Bonjour,
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
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Basic] Faire des requêtes HTTP

Message par Jurassic Pork »

Hello,
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 :

Code : Tout sélectionner

Sub RecubWeb()
 dim data as object, response as object
 util = createUnoService("org.universolibre.EasyDev")
    data = createUnoStruct("org.universolibre.EasyDev.Requests")
    data.Method = "get"
    data.Url = "https://forum.openoffice.org/fr/forum/viewtopic.php?p=373963#p373963"
 '   args = Array( _
 '       Array("verify", False) _
 '   )
 '   data.Args = args
    response = util.requests(data)
    util.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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

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 ?
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Basic] Faire des requêtes HTTP

Message par Jurassic Pork »

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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Basic] Faire des requêtes HTTP

Message par psilocybe »

Ok merci, il va me falloir un peu de temps mais je crois que l'on va pouvoir trouver une solution pour le bug 128569. :bravo:
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12457
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Basic] Faire des requêtes HTTP

Message par Bidouille »

Vous avez tout à fait raison et au vu des nouveaux éléments de ce fil, je corrige à nouveau le titre.
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

Jurassic Pork a écrit : 14 juin 2023 16:36 Ben oui c'est dans mon github ici
Bon après plusieurs tests avec l'extension EasyDev_v2.7.3.oxt, voilà ce qu'il en ressort:
  • Elle ne s'installe pas sous LibreOffice et génère lors de l'installation une exception sur l'import du module python urllib3 nécessaire à requests.
  • Avec OpenOffice sous Windows, j'ai le même problème, à savoir seul http est fonctionnel.
Voilà le seul code que j'ai réussi à faire fonctionner sous OpenOffice sous Windows:

Code : Tout sélectionner

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.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4117
Inscription : 06 oct. 2008 08:03

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Oukcha »

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.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

Hello,
psilocybe a écrit : 15 juin 2023 09:22 Bon après plusieurs tests avec l'extension EasyDev_v2.7.3.oxt, voilà ce qu'il en ressort:
  • Elle ne s'installe pas sous LibreOffice et génère lors de l'installation une exception sur l'import du module python urllib3 nécessaire à requests.
Avec quelle version de LibreOffice et quel O.S ? Quelle version de python dans LibreOffice ?

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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

Jurassic Pork a écrit : 15 juin 2023 11:16 Avec quelle version de LibreOffice et quel O.S ? Quelle version de python dans LibreOffice ?
LibreOffice 7.3.7.2 / Lubuntu 22.04 / Python 3.10.6 -> erreur d'import à l'installation

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!!!

A ne plus rien y comprendre... :fou:
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

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.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

moi avec ce code dans OpenOffice 4.1.14 sous Windows 11 je n'ai pas d'erreur :

Code : Tout sélectionner

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 :mrgreen:

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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

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

Code : Tout sélectionner

import uno

import traceback

def importSSL():
    try:
        import ssl
    except Exception as e:
        msg = _getExceptionMsg(e)
    else:
        msg = _getSslMsg(ssl.OPENSSL_VERSION, ssl.__file__)
    _showMsgBox('import SSL', msg)

def _getExceptionMsg(e):
    error = repr(e)
    trace = repr(traceback.format_exc())
    return 'Error: %s - Traceback:\n%s' % (error, trace)

def _getSslMsg(version, path):
    return 'SSL Version: %s\nSSL Location: %s' % (version, path)
    
def _createService(name):
    ctx = XSCRIPTCONTEXT.getComponentContext()
    return ctx.getServiceManager().createInstanceWithContext(name, ctx)

def _createMsgBox(title, message):
    toolkit = _createService('com.sun.star.awt.Toolkit')
    peer = toolkit.getDesktopWindow()
    box = uno.Enum('com.sun.star.awt.MessageBoxType', 'MESSAGEBOX')
    return toolkit.createMessageBox(peer, box, 1, title, message)

def _showMsgBox(title, message):
    msgbox = _createMsgBox(title, message)
    msgbox.execute()
    msgbox.dispose()

g_exportedScripts = (importSSL, )
Pour moi cette macro produit des erreurs quelque soit la version de Windows... Il faut que je la teste sous Windows 11.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4117
Inscription : 06 oct. 2008 08:03

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Oukcha »

Je vous ai demandé de mettre à jour votre signature, les règles de ce forum sont identiques pour tout le monde.

Dans l'attente, sujet verrouillé.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

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 :

Code : Tout sélectionner

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 :

Code : Tout sélectionner

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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

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

Et normalement l'extension OAuth2OOo embarque le module python certifi version 2021.10.08

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...
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

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 :

Code : Tout sélectionner

args = Array( Array("verify", "d:/tmp/pasdecertif.pem"))
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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

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... :bravo:

Curieux... :marto:
Dernière modification par psilocybe le 16 juin 2023 13:48, modifié 1 fois.
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

sinon il faut se méfier des certificats dans une machine virtuelle
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
psilocybe
Membre hOOnoraire
Membre hOOnoraire
Messages : 145
Inscription : 21 mai 2012 19:40

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par psilocybe »

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?

Merci d'avance...
LibreOffice 7.3.7.2 - Lubuntu 22.04 - Python 3.10 - Java 11 OpenJDK amd64
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 639
Inscription : 09 août 2017 22:15

Re: [Issue][OXT] Faire des requêtes HTTP en Basic

Message par Jurassic Pork »

Sous Windows 11 OpenOffice 4.1.14 cela fonctionne :
OAuth2W11OO4114.png
Par contre ce qui est louche, c'est le résultat de test de rollmops (connection timeout) mais il est sous windows 10.
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