J'utilise webrequests pour obtenir des données vidéo hors de YouTube en utilisant l'URL http://youtube.com/get_video_info?video_id={ID HERE}
YouTube Video Info retour des résultats différents avec le navigateur et WebRequest C#
Lorsque je visite l'URL avec un navigateur, il télécharge le fichier de réponse et toutes les données nécessaires sont présentes. Cependant, lorsque j'utilise un HttpWebRequest
pour télécharger la réponse avec un UserAgent approprié, beaucoup de données sont manquantes. Les données qui ne sont pas présentes concernent principalement les informations sur les paramètres régionaux, les informations sur la version du navigateur (que je pensais contenir la bonne chaîne UserAgent, mais je ne pense pas) et les identifiants associés aux événements créés à partir de la requête.
Ma question est la suivante: Pourquoi cette donnée est-elle présente dans la version que mon navigateur télécharge par rapport à la demande Web? Comment puis-je voir ce que mon navigateur envoie qui le différencie de la demande que je suis en train de créer?
Voilà comment je demande actuellement les données en C#:
var url = string.Format("http://youtube.com/get_video_info?video_id={0}", videoId);
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = userAgent;
var response = request.GetResponse();
string contents;
using (var sr = new StreamReader(response.GetResponseStream()))
contents = sr.ReadToEnd();
Vous pouvez afficher les requêtes/réponses de votre navigateur et de l'application à l'aide d'un outil comme [Fiddler] (http: //www.telerik.com/fiddler). – Poosh