3 pièce(s) jointe(s)
Obtenir Header en utilisant un WebProxy
Bonjour à tous,
Néophyte, dans la partie proxy, je vous explique mon souci.
Lorsque l'on utilise un proxy sur le net, il s'avère qu'il peut être de type transparent, anonyme, élite....
en gros, on ignore si notre adresse ip publique est diffusée ou non par le proxy.
En utilisant le lien suivant proxy-test on obtient certaines informations sur le header
Voici l'image obtenue lorsque je suis sans proxy:
Pièce jointe 289359
Ici celle lorsque l'on utilise un proxy type anonyme:
Pièce jointe 289368
Et ici, un proxy qui transmet notre adresse publique dans la zone X-Forwards-For:
Pièce jointe 289373
et donc, ma question, comment savoir si le proxy que j'utilise via le code si après, transmet ou pas mon adresse ip publique à l'url que je teste ?
Y-a-t-il moyen de le savoir pour toutes les URLS ou dois-je tester le résultat sur une url bien précise (comme celle que j'ai mis en lien) ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
public bool IsAcceptUrl(string sUrl, string sIP_Host, int iPortNumber, TimeSpan tsTimeMax)
{
bool bResult = false;
_bError = false;
_except = null;
_sBackMsg = string.Empty;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sUrl);
WebProxy myproxy = new WebProxy(sIP_Host, iPortNumber);
myproxy.BypassProxyOnLocal = true;
request.Proxy = myproxy;
request.Method = "HEAD";
request.Timeout = 5000 + (tsTimeMax.Seconds*1000);
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
bResult = true;
_sBackMsg = "Success";
}
catch (System.Net.WebException wbex)
{
Exception_Result oER = new Exception_Result();
_sBackMsg = oER.webException(wbex);
bResult = false;
}
catch (Exception ex)
{
bResult = false;
_bError = true;
_except = ex;
}
}
catch (Exception ex)
{
bResult = false;
_bError = true;
_except = ex;
}
return bResult;
} |
Merci d'avance à tous de pour votre aide, explications ou demandes complémentaires :)