Bonjour à tous,
Je cherche à obtenir le lien de téléchargement d'une url php (http://site.com/download.php?type=ssd&id=1060). J'ai créé un webgadget pour m'identifier sur le site. Si je clique sur un lien de téléchargement dans le webgadget, aucun soucis, je suis bien connecté.
Par contre, si je passe par un webrequest et que je demande absoluteuri, il me dit que je ne suis pas connecté...
Pour le moment, j'en suis ici:
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
 
        string GetFileName(string url)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = WebRequestMethods.Http.Head;
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                string disposition = response.Headers["Content-Disposition"];
                if (!string.IsNullOrEmpty(disposition))
                {
                    string fileNamePart = disposition.Split(';').Select(s => s.Trim()).FirstOrDefault(s => s.StartsWith("filename="));
                    if (!string.IsNullOrEmpty(fileNamePart))
                    {
                        return fileNamePart.Substring("filename=".Length);
                    }
                }
                string responseUri = response.ResponseUri.AbsoluteUri;
                return Uri.UnescapeDataString(Path.GetFileName(responseUri));
            }
            return string.Empty;
        }
Si je fais string UrlDownload=GetFileName("http://site.com/download.php?type=ssd&id=1060") Le résultat de UrlDownload=http://site.com//index.html?message=notlogged
J'ai essayé un request avec la page de login et d'ajouter les cookies, mais la réponse est la même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
        void GetUrl(string url)
        {
            CookieCollection cookies = new CookieCollection();
            HttpWebRequest fileRequest = (HttpWebRequest)HttpWebRequest.Create(url);
            fileRequest.CookieContainer     = new CookieContainer();
            fileRequest.CookieContainer.SetCookies(new Uri("http://site.com//access-members.html"), "username =anaconda; password=44371356;");
            fileRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
            HttpWebResponse fileResponse = (HttpWebResponse)fileRequest.GetResponse();
            string responseUri = fileResponse.ResponseUri.AbsoluteUri; // Sinon on utilise l'URI de la réponse (éventuellement redirigée)
            MessageBox.Show(responseUri);
        }
Je suis sous visual studio en csharp framework 4.5.2. Quelqu'un à t'il une idée pourquoi j’obtiens ce résultat?
Merci à tous pour votre aide et bonne journée!