HttpWebRequest

Résolu
Utilisateur anonyme - Modifié le 26 déc. 2010 à 20:32
 Utilisateur anonyme - 26 déc. 2010 à 20:32
Hello,

J'ai fais un script qui télécharge un fichier toutes les nuits.

Depuis 2 semaines tout fonctionne correctement, mais depuis hier, en une fois, plus rien ne fonctionne.

Il fait une erreur alors que c'est le même fichier qu'il y a deux jours :


[ERREUR] Une erreur est survenue pendant le téléchargement du fichier : System.Net.WebException: Le serveur a commis une violation de protocole. Section=ResponseHeader Detail=CR doit être suivi par LF
à System.Net.HttpWebRequest.GetResponse()
à test.MainForm.BackgroundWorker1_DoWork(Object sender, DoWorkEventArgs e) dans C:\test\MainForm.vb:ligne 157

Voici la ligne 156 & 157 :

theRequest = WebRequest.Create(urlATelecharger)
theResponse = theRequest.GetResponse


Pourquoi du jour au lendemain ça ne fonctionne plus ? Si je tape l'url du fichier à télécharger dans IE ou autre, il le télécharge bien...

Une idée ?

Merci :-)



A++

5 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 déc. 2010 à 20:12
salut,

.net 2008?
normalement tu as un fichier de config qui a du se générer
cherches-y la section settings et vérifie la bonne valeur :

 <httpWebRequest useUnsafeHeaderParsing="true" /> 


attention : en IDE il est possible que le fichier config utilisé ne soit pas celui de l'application.
dans le doute vérifie alors aussi $pfiles$\Microsoft Visual Studio 9.0\Common7\IDE\VSTestHost.exe.config

++

[hr]
3
Hello,

Problème résolu, mais pas niveau code mais niveau serveur.

Je comprends pourquoi ça ne fonctionne plus depuis hier. Sur mon serveur IIS ou se trouve le fichier, j'ai modifier dans les en-tête HTTP X-POWERED-BY: ASP.NET en autre chose. Et c'est ça qui a tout fait foirer.

Pourquoi doit il avoir absolument cette en-tête HTTP en réponse ?

Merci pour ta réponse


A++
3
Apparement il faut passer useUnsafeHeaderParsing à false, mais comment ?

Et pourquoi ce problème survient-il subitement ?

A++
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 déc. 2010 à 20:30
pour pouvoir refuser certains fichiers dès l'entête je suppose ^^
là c'est plus une question pure IIS, je sais pas trop

sans tous les cas c'est préférable de ne pas bloquer si le header est non conforme non? surtout dans ton cas : puisque c'est ton serveur

donc à appliquer le unsafe autorisé (à TRUE), de préférence

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yes, je regarde quand même pour le useUnsafe, c'est préférable.

Merci pour ton aide

Bonne soirée
0
Rejoignez-nous