Nous avons un outil qui vérifie si une URL donnée est une URL en direct. Si une URL donnée est en direct une autre partie de notre logiciel peut afficher le contenu de celui-ci.
Ceci est mon code pour vérifier si une URL est en direct P>
public static bool IsLiveUrl(string url) { HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest; webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5"; webRequest.CookieContainer = new CookieContainer(); WebResponse webResponse; try { webResponse = webRequest.GetResponse(); } catch (WebException e) { return false; } catch (Exception ex) { return false; } return true; }
3 Réponses :
Il s'est avéré que tout ce que je devais faire était suivant
webRequest.Accept = "*/*"; webResponse = webRequest.GetResponse();
Bonjour @syed, je suis confronté au même problème et j'ai déjà ajouté le code .accept, mais j'ai toujours eu cette erreur. Des idées? Merci
Je l'ai obtenu, je dois ajouter ces trois lignes, `webrequest.method =" get "; webrequest.useragent = "foo"; webrequest.accept = "Text / html"; `Différent serveur peut nécessiter une configuration différente
Merci swdev. Votre conseil semble résoudre le problème avec certaines pages Wikipedia.
@swdev: Merci. Il me manquait la ligne webrequest.useragent.
Voyant à nouveau cette page et je suis heureux que certains boursiers gagnent profit de mes conseils :)
Pour moi n'aide pas
Spot sur merci Mate! Travaillé comme un charme. Pourquoi ce n'est pas encore une réponse.
Je pense qu'il y a beaucoup de problèmes similaires qui dépendent de l'application Server. Dans mon cas particulier, voir: Le serveur distant renvoyé une erreur : (403) Interdit P>
i fixe strong> pour mon web public static string GetPageContent(string url)
{
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.CookieContainer = cookieContainer; // after Create() method
request.AllowAutoRedirect = true; // should be true
request.UserAgent= ".NET Framework Test Client"; // should not be null
var responseStr = string.Empty;
using (var response = request.GetResponse())
{
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseStr = reader.ReadToEnd();
reader.Close();
dataStream.Close();
}
return responseStr;
}