AJAX和代理:用另一个查询加载外国网站?

时间:2010-07-21 05:24:31

标签: php ajax query-string

所以这是我正在做的一件奇怪的事情。 你们中的一些人已经帮我完成了这个剧本:

proxy.php

<?php
if( isset( $_GET['url'] ) ) {
 # Get the Referred URL
  $raw = file_get_contents( $_GET['url'] );
 # RegExp to Strip All Script tags and/or links with Javascript in them.
  $safe = preg_replace( '/<script[^>]*>.*<\/script>|[\"\']javascript:.*[\"\']/im' , '' , $raw );
  echo $safe;
} else {
  echo 'No URL Set';
}

这是一个代理,它允许我使用proxy.php?url=http%3A//www.somedomain.com/

的jquery加载方法

完美无缺。我现在想知道我是否可以在该网址中传递另一个查询字符串http://www.somedomain.com可以从网址获取$ _GET?

我想我可能很难理解我的追求。 我想知道是否有可能这样做:
proxy.php?url=http%3A//www.somedomain.com&query=anewquerywhichsomedomaincanread

如果我换另一个?作为查询它在404结束因为我不能设置两个?在网址中 proxy.php?url=http%3A//www.somedomain.com?query=anewquerywhichsomedomaincanread

所以我想知道这是否是一个技巧,所以somedomain.com可以使用$ _GET方法从网址获取第二个查询字符串。我不能用&amp;因为: 这个 - &gt; proxy.php?url=http%3A//www.somedomain.com&query=anewquerywhichsomedomaincanread 实际上看起来像这样 - &gt; somedomain.com http://www.somedomain.com&query=anewquerywhichsomedomaincanread

你帮我了吗?任何想法?

1 个答案:

答案 0 :(得分:0)

您必须对您在查询字符串中传递的整个URL进行URI编码。您可以在JavaScript中使用encodeURIComponent()来执行此操作。