ASP - in esecuzione in localhost - in grado di raggiungere internet
-
25-09-2019 - |
Domanda
Ho un'azione del controller ASP MVC. Sto cercando di fare una richiesta web
public ActionResult Index()
{
WebRequest request = HttpWebRequest.Create("http://www.example.com");
WebResponse response = request.GetResponse();
string str = response.ToString();
}`
I ottenere un "WebException verificato" il nome remoto non può essere risolto: 'www.example.com'
Se comincio Fiddler, poi le opere di WebRequest.
Ho provato ad aggiungere:
<system.net>
<defaultProxy>
<proxy usesystemdefault ="True" bypassonlocal="True" />
</defaultProxy>
per web.config (con e senza HTE bypassonlocal) ed ancora non funziona.
Qualche suggerimento?
Soluzione
Prova a specificare il server proxy in modo esplicito:
<system.net>
<defaultProxy>
<proxy proxyaddress="http://proxy.yourcompany.com:80" />
</defaultProxy>
</system.net>
È anche possibile impostare il proxy programmaticamente:
request.Proxy = new WebProxy("http://proxy.yourcompany.com:80", true);
Quando si imposta usesystemdefault
al true
, l'applicazione utilizza il proxy definito nella finestra di dialogo Internet Options
. Quando si distribuisce l'applicazione in IIS di solito esegue con l'account che ha privilegi Network Service
molto limitate, non ha nemmeno qualsiasi sessione GUI in modo che non può dedurre il server proxy.