Partage
  • Partager sur Facebook
  • Partager sur Twitter

C# requete propfind

Sujet résolu
14 septembre 2020 à 10:27:56

 Bonjour, j'aimerais avec une requête propfind récupérer la liste de maïs fichier et les affichers par exemple dans une fenêtre afin que l'utilisateur puisse choisir le fichier qu'il veut.

Le problème et que je ne trouve pas comment faire fonctionner la requête en c# .En commande curl direct je réussi à avoir un résultat. Mais là je n'arrive pas à récupérer quoique se soit.

try
            {
                var handler3 = new HttpClientHandler();
                handler3.ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true;

                using (var httpClient3 = new HttpClient(handler3))
                {
                    using (var request3 = new HttpRequestMessage(new HttpMethod("PROPFIND"), "Blabla mon site ou je veux faire mon propfind"))
                    {
                        var base64authorization3 = Convert.ToBase64String(Encoding.ASCII.GetBytes("pseudo:mdp"));
                        request3.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization3}");


                        var response3 = await httpClient3.SendAsync(request3);
                    }
                }

            }

            catch
            {
                LabelErreur.Text = "Erreur du listing des fihciers";
          
  }

-
Edité par HELBOYS 14 septembre 2020 à 10:30:12

  • Partager sur Facebook
  • Partager sur Twitter
14 septembre 2020 à 11:03:46

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
14 septembre 2020 à 13:57:18

Ca ne correspond pas du tout à se que j'attend :/ .La connexion devra se faire via certificat ensuite et la sur l exemple donné il n'y à ni besoin de mot de passe ni certificat 
  • Partager sur Facebook
  • Partager sur Twitter
14 septembre 2020 à 16:32:25

teste avec la conversion de requête curl faite par ce site (si tu ne connais pas déjà ou n'a pas déjà essayer) => https://curl.olsh.me/
  • Partager sur Facebook
  • Partager sur Twitter
14 septembre 2020 à 16:41:23

Justement ma requête vient de la conversion de se site. Ma requête curl de base contient le faite que j'ai un fichier xml de renvoyé et je peux donc en faire quelque chose.Une fois convertie elle ne peut plus faire ca :/


curl -k --user pseudo:mdp -X PROPFIND monSiteWeb > D:\ listing.txt

//Créer un fichier xml avec la réponse du site

Voila ma requête curl qui est bonne car testé

  • Partager sur Facebook
  • Partager sur Twitter
14 septembre 2020 à 18:40:03

Vérifiez le système d'authentification demandé par votre serveur Web et conformez-vous y.
  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
15 septembre 2020 à 8:51:11

Je suis totalement perdu :/ . J'ai essayé avec le code de la page que vous m'avez envoyée mais je n'avance absolument pas . Les liens n'existent plus .

J'ai fini part trouver et adapter se code mais je n'arrive pas encore à un résultat.Je n'et pas d'erreur donc je pense faut juste comprendre ou part le fichier crée ou bien le rediriger quelque part 

            try
            {

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create("Le lien de mon site");
                req.Method = "PROPFIND"; 

              
                NetworkCredential networkCredential = new NetworkCredential("pseudo", "mdp");
                req.Credentials = networkCredential;
                
                req.ContentType = "text/xml"; 
                RequestStream = req.GetRequestStream();
                RequestStream.Close();
                HttpWebResponse webResp = (HttpWebResponse)req.GetResponse();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }



-
Edité par HELBOYS 15 septembre 2020 à 9:37:53

  • Partager sur Facebook
  • Partager sur Twitter
15 septembre 2020 à 10:01:52

Si vous avez des doutes, vous pouvez toujours comparer le flux réseau généré par votre code et par la commande "curl".

Il y aura peut-être 2 3 ajustement au niveau des en-tête.

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
15 septembre 2020 à 10:20:14

Je ne comprend pas bien se que vous voulez dire part comparer le flux réseau généré.Un exemple sinon serait le bienvenu s'il vous plait

bacelar a écrit:

Si vous avez des doutes, vous pouvez toujours comparer le flux réseau généré par votre code et par la commande "curl".

Il y aura peut-être 2 3 ajustement au niveau des en-tête.



-
Edité par HELBOYS 15 septembre 2020 à 10:26:25

  • Partager sur Facebook
  • Partager sur Twitter
15 septembre 2020 à 11:06:18

Vous utilisez un sniffer réseau pour voir le trafic réseau entre votre programme ou curl et votre serveur Web. (S'ils sont sur des machines différentes)
  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
15 septembre 2020 à 11:24:17

En fait, le code ne génère pas de fichier comme la commande curl (avec la redirection à la fin); c'est à toi ensuite de traiter la réponse de la requête pour la mettre dans un fichier.
  • Partager sur Facebook
  • Partager sur Twitter
15 septembre 2020 à 11:51:30

Des pistes ? ou bien la ligne de code qui permet de mettre cette fameuse réponse dans un fichier ?

Car pour la suite j'ai déjà tout le système de traitement pour le fichier .En parallèle je regarde pour le sniffer réseau. Je sais comment crée un document xml mais sauf que la il doit me le crée avec les donnée qu'il récupère donc c'est totalement différent.

Je suis sur cette page pour le début de code et je n'arrive pas à faire fonctionner la partie base qui gere justement cette création si je me trompe pas .

https://dung-tri.developpez.com/tutoriels/vbscript/webDav/

En tout cas merci de votre aide ;)


-
Edité par HELBOYS 15 septembre 2020 à 11:57:58

  • Partager sur Facebook
  • Partager sur Twitter
15 septembre 2020 à 12:03:29

regarde du côté de l'exemple de GetResponseStream qui affiche le résultat dans la console (à adapter pour le mettre dans un fichier) https://docs.microsoft.com/fr-fr/dotnet/api/system.net.httpwebresponse.getresponsestream?view=netcore-3.1#exemples
  • Partager sur Facebook
  • Partager sur Twitter
15 septembre 2020 à 13:36:36

Super merci je jette un œil j’espère ça va le faire et je vous tien au courant 

-
Edité par HELBOYS 16 septembre 2020 à 15:08:37

  • Partager sur Facebook
  • Partager sur Twitter