IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web avec .NET Discussion :

Comment tester la validité d'un URL Sharepoint avec VB.NET ?


Sujet :

Développement Web avec .NET

  1. #1
    Membre actif
    Avatar de Golard
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 288
    Points : 289
    Points
    289
    Par défaut Comment tester la validité d'un URL Sharepoint avec VB.NET ?
    Bonjour,

    Je souhaite tester
    • la validité d'un URL Sharepoint
    • l'existence d'un fichier sur Sharepoint

    Je m'arrache les cheveux car je ne trouve pas de code qui fonctionne.

    J'ai essayé par exemple ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
           Try
               Dim request As WebRequest = WebRequest.Create(strHost)
               Dim response As WebResponse = request.GetResponse()
               Call MsgBox("SUCCES: " & response.ToString)
           Catch ex As Exception
               Call MsgBox("ERREUR: " & ex.ToString)
               Return False
           End Try
           Return True
    ça fonctionne bien sur des URL standard de la toile (google, developpez.com, ...), mais pas pour Sharepoint qui génère une exception pour des pbs d'autorisation.

    Par ailleurs, WebRequest semble déconseillé par l'environnement Visual Studio 2022 qui donne l'alerte suivante:
    'WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.
    Je souhaite effectivement utiliser les objets de la plateforme .NET, et la méthode la plus propre possible.
    Cependant je ne trouve pas de code avec HttpClient en visual basic.
    J'apprécierai toute proposition de code avec grand plaisir.

    Merci d'avance

    Développement VBNet sous Visual Studio Community 2022 (environnement Windows 10)

  2. #2
    Membre actif
    Avatar de Golard
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 288
    Points : 289
    Points
    289
    Par défaut
    En complément, j'ai essayé d'ajouter UseDefaultCredentials et PreAuthenticate

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Function RemoteFileExist(ByVal strHost As String) As Boolean
        '// OBJET: Teste la validité d'un URL ciblant un fichier sur Sharepoint
        '// ENTREE: strHost= URL à vérifier commençant par http:// ou https://
        '// RETOUR: True si le fichier existe
     
        '''// 11.06.24 Test d'une syntaxe avec WebRequest: Ne fonctionne pas pour des problèmes d'autorisation
        '''// Les 2 Imports suivants doivent être mis en début de module
        '''// Imports System.IO
        '''// Imports System.Net
     
        Try
            Dim request As WebRequest = WebRequest.Create(strHost)
            request.UseDefaultCredentials = True
            request.PreAuthenticate = True
            Dim response As WebResponse = request.GetResponse()
            Call MsgBox("SUCCES: " & response.ToString)
        Catch ex As Exception
            Call MsgBox("ERREUR: " & ex.ToString)
            Return False
        End Try
        Return True
     
    End Function
    J'obtiens toujours l'erreur suivante:
    System.Net.WebException: The remote server returned an error: (401) Unauthorized
    Avez-vous une idée de quoi faire pour que cela fonctionne ?

    Développement VBNet sous Visual Studio Community 2022 (environnement Windows 10)

  3. #3
    Membre actif
    Avatar de Golard
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 288
    Points : 289
    Points
    289
    Par défaut
    UPDATE:

    J'ai essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Function SharepointFileExist_Test2(ByVal strHost As String) As Boolean
     Dim oRequest As System.Net.HttpWebRequest = Nothing
     Dim oResponse As System.Net.HttpWebResponse = Nothing
     
     Try
         oRequest = CType(System.Net.WebRequest.Create(strHost), System.Net.HttpWebRequest)
         'Les 2 lignes suivantes permettent de s'authentifier automatiquement par exemple sur un site Sharepoint
         oRequest.UseDefaultCredentials = True
         oRequest.PreAuthenticate = True
         oResponse = CType(oRequest.GetResponse, System.Net.HttpWebResponse)
         Select Case oResponse.StatusCode
             Case Net.HttpStatusCode.OK
                 oResponse.Close()
                 Return True
             Case Else
                 Return False
         End Select
     Catch generatedExceptionVariable0 As Exception
         Return False
     End Try
     End Function
    ça ne fonctionne pas mieux, j'ai toujours l'erreur:
    The remote server returned an error: (401) Unauthorized
    Help!!!!! Quelqu'un d'expérimenté en VB.Net/Sharepoint peut-il m'aider à tester la présence d'un fichier sur Sharepoint ?

    Développement VBNet sous Visual Studio Community 2022 (environnement Windows 10)

  4. #4
    Membre confirmé Avatar de licardentaistor
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2021
    Messages : 343
    Points : 493
    Points
    493
    Par défaut
    ça n'est pas en passant ces booléens que l'on s'authentifie..



    https://stackoverflow.com/questions/...online-c-sharp

  5. #5
    Membre actif
    Avatar de Golard
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 288
    Points : 289
    Points
    289
    Par défaut
    Citation Envoyé par licardentaistor Voir le message
    ça n'est pas en passant ces booléens que l'on s'authentifie..
    Bonjour licardentaistor,

    Effectivement, mes variables booléennes ne sont pas censées remplacer une authentification.
    Mais je travaille sur un poste d'entreprise avec une authentification automatique: J'avais lu quelque part que ces booléens permettait au code de préciser au système d'utiliser l'authentification automatique du poste... mais ça ne semble pas fonctionner

    Comme mon application ne doit pas fonctionner que sur mon poste, mais aussi sur les postes d'autres utilisateurs, je ne peux pas connaitre le login/mot de passe de la personne qui exécutera mon programme. Je dois être authentifié sur Sharepoint automatiquement comme quand l'utilisateur lance son navigateur... la connexion à Sharepoint est automatique.

    Aurais-tu une idée pour coder cela ?

    Développement VBNet sous Visual Studio Community 2022 (environnement Windows 10)

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 198
    Points : 1 748
    Points
    1 748
    Par défaut
    un début d réponse => https://learn.microsoft.com/fr-fr/sh...cation-cookies

    utilisation donc de SPHttpClient pour éviter les problèmes de connexions (problème, comme toi, je ne trouve pas d'exemple en VB.NET, mais on doit pouvoir en faire la "traduction" assez facilement)

Discussions similaires

  1. [VB.NET] Comment tester la validité d'une date ?
    Par Zefree dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/12/2012, 15h49
  2. Tester la validité d'une url d'un site web
    Par italiasky dans le forum Langage
    Réponses: 21
    Dernier message: 28/02/2007, 15h39
  3. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00
  4. Comment tester la validité d'un répertoire?
    Par Gabrielly dans le forum MFC
    Réponses: 5
    Dernier message: 25/02/2005, 11h13
  5. [web] tester la validiter d'une URL
    Par zebiloute dans le forum Web
    Réponses: 4
    Dernier message: 25/11/2002, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo