【问题标题】:Why can I ping a web page but not access it through browser? [closed]为什么我可以ping 一个网页,但不能通过浏览器访问它? [关闭]
【发布时间】:2013-05-06 09:01:20
【问题描述】:

我正在尝试了解我们正在使用的代理服务器。我想知道,为什么我可以ping 一个网页,但不能打开它?当然,ping 需要在我的计算机和网页服务器之间进行一些交互?有没有办法通过编程从网页中检索数据? (不是代理绕过V-Tunnel等网站)

【问题讨论】:

  • 通过编程检索页面的方法有很多种。在我看来,你有点困惑,你的问题似乎无关。你想做什么?如果您提出网络问题,为什么这会被标记为 C#?
  • 我想知道,是否可以与网站进行某种形式的通信(ping),是否可以使用程序(不使用外部服务器)获取 HTML 页面的信息).. 虽然这主要是一个网络问题,但如果有人有一个可能的例子,以软件形式.. C# 只是我的偏好。

标签: c# networking proxy network-programming


【解决方案1】:

ping 响应与 HTTP 服务器无关。当一台机器响应一个 ping 请求时,这意味着它可以通过网络访问。要从某个地址打开网页,远程计算机必须通过 HTTP 服务器提供该网页。

在您的情况下,服务器机器已打开并连接到网络(它响应 ping),但 HTTP 服务器可能未运行/未配置。


关于第二个问题,有很多方法可以从代码中检索网页,如果你google你会发现很多例子。在 C# 中,您可以使用 WebClient 例如:

WebClient client = new WebClient ();
string reply = client.DownloadString (address);

请记住,这就像使用网络浏览器访问页面一样。如果您的网络中有代理,则对 Internet 的任何请求都会通过它。

【讨论】:

  • 感谢 nmat,这清除了一些东西。我的印象是网络通信,无论是 HTML 还是 ping 都是一样的。然后我假设代理只覆盖一些端口?
  • @Corne 不,不同的协议一般使用不同的端口。代理服务器通常位于您的计算机和 Internet 之间。您连接到特定端口(8080 或 3128)上的服务器,它将请求转发到互联网并将响应发送回您。代理服务器不需要(也可能没有)正在运行的 HTTP 服务器
  • @Corne 我已经更新了答案。请注意,能够 ping 服务器与能够访问该服务器上的页面无关。像我一样,它甚至可能没有页面,或者代理可能会阻止您访问
  • 感谢您提供的信息丰富的回答。我学到了一些新东西..
【解决方案2】:

为什么我可以 ping 网页

您无法 ping 网页。您可以 ping 主机。

但不能通过浏览器访问?

因为无法通过浏览器访问网页。

不是一个真正的问题。

【讨论】:

    猜你喜欢
    • 2016-12-12
    • 2015-03-09
    • 1970-01-01
    • 2012-09-24
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多