我正在尝试编写一个简单的html页面来创建两个数据提要的mashup。数据馈送源之一是一个PHP页面,每次请求它时都会生成一个GoogleEarthKMZ文件。我的目标是在我的页面上的地图上实时显示这个提要。
特定的PHP页面需要身份验证,我有用户名和密码。当我将URL插入web浏览器时,它会询问我的凭据,我会提供这些凭据,然后它会下载一个KMZ文件。
我想让我的html页面使用javascript向PHP页面发出HTTP请求,检索返回的KMZ并将其加载到地图上。
我对这类事情完全陌生,所以请让我知道我是否朝着正确的方向前进,这可能吗?
您没有指定在远程端使用哪种类型的身份验证,因此,我将进行一些猜测和假设:
基本HTTP身份验证
如果使用"基本HTTP身份验证"(这将显示一个浏览器弹出窗口,请求领域的用户名/密码),您可以将您的请求URL公式化如下:
http://username:password@host.name/file.name?parameter=x
其中:
username
是您的实际已知用户名password
实际密码- CCD_ 3是远程服务器的地址
file.name
您试图访问的PHP文件- 可选:
parameter=x
从PHP文件获得所需输出所需的任何已知参数
PHP身份验证
如果实际的身份验证是由PHP页面本身完成的,那就另当别论了。在这种情况下,这完全取决于PHP脚本使用哪些变量来执行身份验证,特别是参数的类型。最常见的是使用GET
或POST
(或者如果使用REQUEST
,两者都可以)。
无论哪种方式,您都必须知道正在使用的参数的名称。对于下面的例子,我将假定user
和pass
。
在PHP脚本中,如果在php.ini
中设置了危险的register_globals,则它们看起来像$_GET['user']
、$_POST['user']
、$_REQUEST['user']
或简单的$user
。
在GET
或REQUEST
的情况下:
http://host.name/file.name?user=username&pass=password¶meter=x
在POST
:的情况下
可以使用JavaScript来POST
值。这个SO答案给出了一个有效的例子。
其他任何东西
如果使用任何其他方法(还有很多其他方法),则需要更具体的信息来确定确切的方法和有效的解决方案。