0

我在 PHP 中有一个屏幕抓取代码,如下所示:

<?
$url = 'https://www.google.nl/search?q=cars';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>

我还有一个 Jquery(ajax) 脚本,它可以像这样获取代理:

$.get('ThePhpFile.php', function(data){

     $(data).appendTo('div')

}

一切正常,但现在我想将要抓取的 URL 设置为变量,这实际上是父文档中某些输入的值(我正在使用 iframe)。我知道如何在 Jquery 中做到这一点:

var TheUrl = $("input", parent.document.body).val();

所以我的问题是如何设置变量以使用 PHP 代码。有必要把它放在PHP代码中吗?我怎么做?

4

1 回答 1

1

您需要将变量 ajax 到 php:

这会将 ?url=..... 发送到 php

完整示例演示

<html>
<head>
<title>Search Proxy</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
<script>
$(function() {
  $("#search").on("submit",function(e){
    e.preventDefault();
    $.get('searchproxy.php', 
     {url:$("#url").val()}, 
       function(data){
         $(data).html('#result');
     });
  });
});
</script>
</head>
<body>
<div>
<form id="search">
<input id="url" type="text" value="" />
</form>
<div id="result"></div>
</body>
</html>

<?php
$url = $url = $_GET["url"]; // you need to add input cleaning
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>
于 2013-03-09T08:58:53.810 回答