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

VB.NET Discussion :

System.Net.WebClient.DownloadFile retourne un code 403


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut System.Net.WebClient.DownloadFile retourne un code 403
    Bonjour à tou(te)s,

    J'ai un petit programme qui sauvegarde en local une URL.
    La partie principale est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Bt_OK_Click
      Try
          Dim myWebClient As New System.Net.WebClient
          myWebClient.DownloadFile(TextBox1.Text, "C;\Temp\Toto.html")
     
      Catch ex As Exception
                MsgBox("L'erreur suivante s'est produite : " & ex.Message)
      End Try
    End Sub
    Ca marche très bien pour la plupart des pages Internet, mais quelques unes refusent de se laisser "aspirer" et j'ai un message d'erreur suivant :
    Le serveur distant a retourné une erruer : (403) Interdit
    Sur Wikipedia, par exemple, certaines pages provoquent systématiquement ce message, alors que d'autres ne posent aucun problème.
    Ex de page que je ne peux pas sauvegarder :
    http://fr.wikipedia.org/wiki/Jacques_Chirac
    (note : n'y voyez aucun message politique).

    D'après ce que j'ai trouvé sur le Net, le code erreur 403 indique que la page refuse l'accès. Or j'arrive à accéder à la page, et je peux la sauvegarder par la commande "Fichier - Enregistrer sous".

    Si l'un de vous à une idée de pourquoi ça ne fonctionne pas ...

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    un navigateur serait plus l'équivalent d'un system.net.httpwebrequest qu'un downloadfile
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut
    Encore merci.

    J'ai commencé à regarder le system.net.httpwebrequest en question. Ca n'a pas l'air simple

    J'ai trouvé ça pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim HttpWReq As System.Net.HttpWebRequest = _
       CType(System.Net.HttpWebRequest.Create(TextBox1.Text), System.Net.HttpWebRequest)
     
            Dim HttpWResp As System.Net.HttpWebResponse = _
               CType(HttpWReq.GetResponse(), System.Net.HttpWebResponse)
            ' Insert code that uses the response object.
             HttpWResp.Close()
        End Sub
    La page est donc (si j'ai bien compris) chargé dans le HttpWResp.

    Mais en essayant de l'afficher simplement (avec un msgbox HttpWResp) , ça ne fonctionne pas.
    Apparemment, il faut utiliser HttpWResp.GetResponseStream.Read, mais les paramètres sont pour l'instant un mystère pour moi.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 125
    Par défaut


    Je m'incline devant tant de connaissances et devant ton dévouement à aider les pauvres programmeurs comme moi

    Merci beaucoup.

    Mais ça montre quand même que le site de Microsoft n'est pas super clair. Parce qu'avec ton exemple de 10 lignes, j'ai tout compris (ou du moins, j'ai pu faire ce que je voulais).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ProgressBar avec Net.WebClient.DownloadFile
    Par Legarsdelouest dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2009, 16h36
  2. Avoir une confirmation apres System.Net.WebClient
    Par Danyel dans le forum VB.NET
    Réponses: 5
    Dernier message: 03/05/2009, 10h24
  3. [ASP.Net] System. Net. Mail
    Par beowax dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2006, 09h05
  4. [VB.net]problème de conversion de code c# vers VB.net
    Par cladsam dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2005, 14h07
  5. [VB.Net]Procédure Stocké retournant une valeur
    Par waldo2188 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/05/2005, 12h56

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