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;
}
}
私は取得していますエラーがある:対象のコンピュータによって拒否されたため、接続できませんでした。誰にもこれに関するアイデアはありますか?私は多くの検索を行っており、この問題に関する情報を見つけることはできないようです。私はこれが何らかの違いをもたらすのかどうかはわかりませんが、私のプロダクションサーバーは専用のクラウドサーバーです。どんな助けもありがとう。 (解析されていない)GetDynamicJsonObject(レスポンス)
<system.net>
<defaultProxy />
</system.net>
そして、私のコード:
があなたのweb.configファイルをチェックしてください:
こんにちはZoli、あなたの解決策を試してみましたが私はまだ同じエラーが発生しています –
あなたのweb.configをチェックしましたか?他のサービスに連絡できますか?いいえの場合は、プログラム/マシンの設定に問題があります。 telnet cmd、 'telnet where.yahooapis.com 80'で確認してください(dを見るにはENTERを押してください)。 – Zoli
私は、私があなたの解決策をテストしたときに追加したので、あなたが言及した私の設定のビットを持っていませんでしたが、喜びはありません。私はちょうど私のサーバーにtelnetクライアントをインストールし、あなたが示唆したようにyahooapis.comに接続しようとしましたが、私は接続できません。だから私のコードではなく、サーバーとの問題のように見えます。これは良いニュースと悪いニュースの両方です。サーバーに何が間違っているか考えていないとしますか? :) –