C# - Comment faire un appel HTTP
Je voulais faire un appel HTTP vers un site web. J'ai juste besoin de frapper l'URL et ne veulent pas télécharger ou de télécharger des données. Quelle est la méthode la plus simple et la plus rapide façon de le faire.
J'ai essayé le code ci-dessous mais sa lenteur et après la 2ème répétitif demande il va juste dans le délai d'attente pour 59 secounds et de reprendre:
WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = fileName.Length;
Stream os = webRequest.GetRequestStream();
os.Write(buffer, 0, buffer.Length);
os.Close();
Est d'utiliser le client web plus efficace??
WebClient web = new WebClient();
web.UploadString(address);
Je suis à l'aide .NET ver 3.5
- "Est d'utiliser le client web plus efficace?" Que vous a empêché d'essayer?
Vous devez vous connecter pour publier un commentaire.
Vous avez quelques trucs supplémentaires là-bas, si vous êtes vraiment juste essayer de faire appel à un site web. Tous vous avez besoin est:
Si vous ne voulez pas attendre une réponse, vous pouvez regarder BeginGetResponse pour le rendre asynchrone .
Si vous ne voulez pas envoyer toutes les données que vous devez utiliser:
Si vous avez vraiment ne se soucient pas d'obtenir des données en retour (par exemple si vous voulez simplement vérifier pour voir si la page est disponible) utilisation:
Dans les deux cas, au lieu de
webRequest.GetRequestStream()
utilisation:WebClient est plus courte et la plus concise, la syntaxe, mais dans les coulisses, il utilise un WebRequest, donc, en termes de performances, il ne sera pas plus rapide, il sera équivalent. Si vous voulez qu'il soit plus rapide, vous aurez pour améliorer le serveur de script côté ou de l'infrastructure de votre réseau. Le problème n'est pas sur le côté client.