通过Socket去访问HTTP服务器,如果在一台HTTP服务器没有任何安全设置的情况下,能够正常发送和返回数据。
现在问题是如果在多台服务器组成的一个集群的HTTP服务器,并且服务器禁止通过IP地址连接,只能通过URL访问(通过DNS解析URL的IP地址进行连接是失败的)。
这种情况下是不是不能用Socket访问HTTP服务器?
用TCPClient进行连接是否能够行的通?
还有没有其他的方式进行访问?(HttpWebRequest我已经用过,不能用)
谢谢!!!

解决方案 »

  1.   

    服务器可能要求通过HTTP1.1协议连接
    通过ip肯定是可以的,只是要加上正确的http header
      

  2.   

    构造相同的head,应该就可以了
      

  3.   

    可以的,看看协议信息:http://www.cnpaf.net/
      

  4.   

    to 现在问题是如果在多台服务器组成的一个集群的HTTP服务器,并且服务器禁止通过IP地址连接,只能通过URL访问(通过DNS解析URL的IP地址进行连接是失败的)。
    这种情况下是不是不能用Socket访问HTTP服务器?
    用TCPClient进行连接是否能够行的通?可以的,不过你需要先解析出hostname,然后按照如下去连接
    TcpClient tcpClientB = new TcpClient("www.contoso.com", 11000);
      

  5.   

    谢谢各位,等我试验成功以后给分!
    不过我不是很明白TCPClient与Socket原理上有什么不同?是服务器那边专门有验证机制屏蔽了IP访问的吗?
    谢谢!