1

当试图调用谷歌位置来寻址服务时,它给了我这个消息:

无法建立连接,因为目标机器主动拒绝它 173.194.66.95:80

我将 ASP.net 4 与 C# 一起使用。
这是我的代码:

protected void btn_FindAddress_Click(object sender, EventArgs e)
{
    url = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=";
    query = LatY.Text + "," + LongX.Text + "&sensor=true";

    Address.Text = url;
    Uri uri = new Uri (url + query);

    // Create a request for the URL. 
    WebRequest request = WebRequest.Create(uri);
    //// If required by the server, set the credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    // Get the response.
    WebResponse response = request.GetResponse();
    // Display the status.
    Status.Text = (((HttpWebResponse)response).StatusDescription);
    // Get the stream containing content returned by the server.
    Stream dataStream = response.GetResponseStream();
    // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader(dataStream);
    // Read the content.
    string responseFromServer = reader.ReadToEnd();
    // Display the content.
    Address.Text = responseFromServer;
    // Clean up the streams and the response.
    reader.Close();
    response.Close(); 
}
4

1 回答 1

2

最常见的是,可以建立出站连接(可以到达远程服务器及时发送响应),但您尝试使用的端口被阻止(防火墙或代理是最有可能的两个选项我能想到)。

它也可能源于连接的另一端没有服务器这一事实:例如,如果您将端口 80 NAT 到没有 Web 服务器的系统,则可能会发生这种情况。由于您正在调用 Google 的 url,我怀疑情况是否如此,但我认为值得指出。

于 2012-08-09T13:10:39.810 回答