0
我正在嘗試使用Yahoo的PlaceFinder API獲取郵政編碼的經度和緯度。在我的本地機器上一切正常,但是當我將它上傳到我的生產服務器時,我收到了來自Yahoo的連接拒絕錯誤。我在下面複製了我的代碼:Yahoo PlaceFinder API連接問題
Dictionary<string, decimal> GetYahooGeoCode(string postcode)
{
string url = "http://where.yahooapis.com/geocode?flags=J&appid=[My_App_ID]&location=";
decimal latitude = 0;
decimal longitude = 0;
try
{
dynamic yahooResults = new Uri(url + postcode).GetDynamicJsonObject();
foreach (var result in yahooResults.ResultSet.Results)
{
latitude = (decimal)result.latitude;
longitude = (decimal)result.longitude;
}
Dictionary<string, decimal> geoCode = new Dictionary<string, decimal>();
geoCode.Add("latitude", latitude);
geoCode.Add("longitude", longitude);
return geoCode;
}
catch (Exception ex)
{
Log4NetLogger logger = new Log4NetLogger();
logger.Error(ex);
return null;
}
}
我得到的錯誤是:由於目標機器主動拒絕,所以無法建立連接。有沒有人有任何想法呢?我做了很多搜索,似乎無法找到關於此問題的任何信息。我不知道這是否有所作爲,但我的生產服務器是專用的雲服務器。任何幫助,將不勝感激。
嗨Zoli,試過你的解決方案,但n o高興我仍然得到相同的錯誤 – 2012-03-01 20:48:33
你檢查了你的web.config?你可以聯繫其他服務嗎?如果不是,你有一些程序/機器配置問題。用telnet cmd,telnet where.yahooapis.com 80'查看(點擊d ENTER鍵)。 – Zoli 2012-03-01 21:14:20
我做過了,我沒有提到你的配置,所以我在測試你的解決方案時添加了它,但沒有喜悅。我剛剛在我的服務器上安裝了telnet客戶端,並嘗試按照您的建議連接到yahooapis.com,但無法連接。所以看起來像服務器的問題,而不是我的代碼,這是好消息和壞消息。不要以爲你有任何想法可能是錯誤的服務器? :) – 2012-03-01 23:43:59