【问题标题】:Passing URL as Argument to PHP file将 URL 作为参数传递给 PHP 文件
【发布时间】:2010-11-24 16:41:34
【问题描述】:

我正在编写一个 php 脚本,它将从给定的 URL 获取数据,然后基于该数据运行大量计算,然后将其输出给用户。

相关网页是嵌入了 iframe 的网页。 iframe 包含包含我需要的数据的 javascript 代码,不幸的是,iframe 与网页不在同一个域上。所以我要做的是从网页中提取到 iframe 的 URL(我至少可以在不受到跨域限制的情况下做到这一点),然后将 URL 传递给 php 文件,它将加载该 URL ,并查找信息。

这引发了一个 轻微 问题,即 URL 中已经包含很多参数。它的形式为 www.somesite.com/iframe.php?userstring=asfjkl&arg1=654&arg2=132%2C9848%2C698

问题是 URL 已经有参数,这不适用于我的 php 文件,当我将用户重定向到我的站点的 URL mysite 时,这会将这些参数混淆为参数,而不是 URL 的一部分.com/test.php?URL=(如上所示的字符串)。所以现在,我正在考虑一个 POST 请求,但是发送一个 POST 请求不会重定向用户,除非我真的有一个表单。所以我的问题是,如果这是一个可行的想法,通过创建一个不可见的表单并将数据设置为 URL,然后提交它,以及是否允许跨域提交表单来发送 URL。 (我认为是这样)。还有其他建议吗?

【问题讨论】:

    标签: php javascript http-post


    【解决方案1】:

    只需urlencode() URL 参数。然后一切正常。

    urlencode('http://www.example.com/blah?x=y&a=123&something=else');
    // Returns http%3A%2F%2Fwww.example.com%2Fblah%3Fx%3Dy%26a%3D123%26something%3Delse
    

    【讨论】:

    • 不,它已经被解码,因为 urlencode 需要才能成为正确的查询字符串参数,因此它会自动解码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2020-04-03
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多