是否可以使用HTML或javascript从两个不同的服务器获取文件

时间:2009-06-23 11:25:26

标签: javascript html

是否可以使用HTML或javascript从两个不同的服务器获取文件, 假设文件A在服务器A中,文件B在服务器B中。是否可以访问这两个文件并显示它们 编辑:请发布一些代码

3 个答案:

答案 0 :(得分:1)

使用Javascript(因为这是您标记问题的方式),您无法请求该文件,因为您将违反跨域AJAX限制。

您需要在服务器端使用cURL或urllib等请求页面。

例如,使用Python,您可以执行以下操作:

import urllib2
page = urllib2.urlopen('http://www.google.com').read()
print(page)

答案 1 :(得分:1)

您可以在服务器B上创建一个返回JSONP的脚本 - 在查询字符串中指定的文件的表示形式。然后动态地(使用JavaScript,我的意思)创建<script>标签,如下所示:

<script type="text/javascript" src="http://server-b.com/get-file.php?file-b.txt"></script>

将其包含在JavaScript文件中。包含后,您将获得在回调函数参数中指定的文件B的内容。

答案 2 :(得分:1)

由于您的问题询问如何使用HTML或JavaScript实现此目的,并且已经有一些JavaScript的答案,我将分享我对如何在HTML中执行此操作的想法。

这可能比使用JS容易一些:

对于HTML,您可以使用两种类型的URL引用:Relative和Absolute。我们关注多个域的类型是绝对的。您应该能够使用绝对路径访问其他服务器(域)上的文件。假设服务器A的域名是servera.com,文件file_a.htm位于根网站目录中。您正在寻找的代码是:

<a href="http://servera.com/file_a.htm">File A on Server A</a>

当然,如果您不想从页面重定向用户,则可以在内联框架中显示此内容:

<iframe src="http://servera.com/file_a.htm">
  <p>Iframes are not supported by your browser. Please consider upgrading.</p>
</iframe>