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:
Nom : Proxy_direct.JPG
Affichages : 132
Taille : 58,3 Ko


Ici celle lorsque l'on utilise un proxy type anonyme:
Nom : Proxy_ok.JPG
Affichages : 94
Taille : 62,7 Ko


Et ici, un proxy qui transmet notre adresse publique dans la zone X-Forwards-For:
Nom : Proxy_nok.JPG
Affichages : 101
Taille : 61,9 Ko

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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