2012-07-04 60 views
0

,當我面臨的一個非常奇怪的問題連接到遠程服務器:無法觸及的API

案例1:使用ASP.NET Web開發服務器:應用擊中API,和一切工作正常。

案例2:我在IIS主機我的應用程序(MVC):當應用程序試圖打API,它得到的錯誤:

"Unable to connect to remote server": {"A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 96.17.180.160:80"}

的代碼行:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(api); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // This line breaks... 
+0

看來IIS服務器不能訪問。你是否嘗試過從服務器ping IP?您是否嘗試通過瀏覽器或服務器的telnet連接到它? – leppie

+0

是的我試圖通過瀏覽器連接到該API,它工作正常。 – Jash

+0

代理設置可能嗎? – leppie

回答

0

它如果您無法ping遠程主機,看起來您有網絡問題。有可能是各種方面的原因:代理服務器,防火牆阻止訪問,...

你將不得不與網絡管理員聯繫,以瞭解更多。如果他告訴您需要使用代理服務器才能訪問目標網址,則可以使用request.Proxy屬性在請求上配置此代理。如果此代理需要驗證,您將必須提供代理服務器的地址和任何最終的驗證憑證。另一種可能性是在<system.net>部分的app/web.config文件中指定全局代理設置。

0

使用下面的設置裏面,如果代理/防火牆被停止API調用,它會與下面的設置運行。

<system.net> 
<defaultProxy> 
    <proxy usesystemdefault="false" proxyaddress="Proxyserver:port" bypassonlocal="true"/> 
</defaultProxy> 
</system.net>