none
请问如何通过Web服务器访问外网 RRS feed

  • 问题

  • 我有一台企业内部网的Web server(windows 2003 server), 上面部署了我开发的一个WEB应用程序(VS2005.net),在其中的一个网页里内嵌了一个天气预报,此天气预报是连接外网的链接,如美国气象局。

     

    现在的问题是:客户端是无权访问外网的,而我们的Web Server可以直接访问外网。所以在客户机上访问这个内部页面时,其它内容能正常访问,就是天气预报这一区域不能打开。请问有什么办法可以实现客户端能打开外网的天气预报网页?

     

    2007年11月19日 2:55

答案

  • 为什么不写个中转方法?

    我的思路是,js.aspx里的方法调用服务器上另一个方法来执行访问天气服务器获得数据,再传回js.aspx里就可以了。

    执行获取天气的操作都由中转方法来实现,比如用WebRequest取回。这样就可以了,我之前做过一个类似的:http://beta.xutour.com/weather/jiuzhaigou 这个就可以~
    2007年11月28日 2:21

全部回复

  • 按照我的思路能不能这样实现,让服务器来访问外网获取数据然后呈现给客户端来查看呢?

    2007年11月26日 9:16
  • 我也想这样做,让服务器的身份访问外网,然后将数据返回给客户端的页面。可是就是不知道怎么样来实现。因为服务器是继承了客户端的认证。所以我怎么试,都没用,

     

    我的ASPX是这样调用天气预报的:

     

    <TABLE class="L_Body" cellspacing="0" cellpadding="0" border="0">
               <tr>
                    <td valign="top">
                       <script src="http://www.thinkpage.cn/weather/js.aspx?c=CHXX0049&l=en-US&x=1&d=4&m=1&s=2&w=100%&h=250" type="text/javascript"></script>
                     </td>
               </tr>
    </TABLE>

     

    哪位高手帮帮忙。发了这么久,怎么没什么回答?

    2007年11月27日 9:32
  • 为什么不写个中转方法?

    我的思路是,js.aspx里的方法调用服务器上另一个方法来执行访问天气服务器获得数据,再传回js.aspx里就可以了。

    执行获取天气的操作都由中转方法来实现,比如用WebRequest取回。这样就可以了,我之前做过一个类似的:http://beta.xutour.com/weather/jiuzhaigou 这个就可以~
    2007年11月28日 2:21
  • 你可以自己对该服务的URL做一个bridge(桥接)。
    2007年12月5日 1:18
  •  

    Shiny Zhu, 有没有这方面的例子,可以传一个给我吗?我是用C#开发的,我的Email: lidavid@tom.com

     

    关于桥接的方法,从没试过,可以讲一下步骤吗?谢谢!

    2007年12月7日 8:45
  •  小伟 写:

    我也想这样做,让服务器的身份访问外网,然后将数据返回给客户端的页面。可是就是不知道怎么样来实现。因为服务器是继承了客户端的认证。所以我怎么试,都没用,

     

    我的ASPX是这样调用天气预报的:

     


               
                    
               

                       
                     

     

    哪位高手帮帮忙。发了这么久,怎么没什么回答?

     

    我把你引用的脚本(http://www.thinkpage.cn/weather/js.aspx?c=CHXX0049&l=en-US&x=1&d=4&m=1&s=2&w=100%&h=250)抓下来(你可以用wget或者FlashGet这样的小工具来抓取Web页内容,也可以用C#自己编程实现),保存为一个js文件,查看,其内容如下:

     

    document.write('<iframe src="http://www.thinkpage.cn/weather/weather.aspx?c=CHXX0049&l=en-US&x=1&d=4&m=1&s=2&t=0&fc=0" frameborder="0" scrolling="no" width="100%" height="250" allowTransparency="true"></iframe>');

     

    然后再将里面的iframe(http://www.thinkpage.cn/weather/weather.aspx?c=CHXX0049&l=en-US&x=1&d=4&m=1&s=2&t=0&fc=0)抓取下来保存为一个html文件,其内容有9.57 KB之多,我就不往这里贴了。你可以看看里面的内容,它有一些资源引用,比如说一些JavaScript和一些图像文件,你根据此网页的目录(http://www.thinkpage.cn/weather/)修复一下你抓取到的这个hml文件里面的资源引用,就能够轻易得到你想要得天气预报数据,以及Web上的表现格式。

    2007年12月18日 6:36