链接上的JQuery单击以执行curl

时间:2011-05-17 10:54:49

标签: php jquery curl

我使用curl来获取网页。此页面上有链接。在我点击链接的curl抓取页面上,我希望JQuery执行一个curl脚本来获取该链接。我有以下代码..

这是我的索引页面,它通过curl获取example.com并回显它。

<html>
<head>
<title>Public</title>
<script type="text/javascript" src="click.js"></script>;
</head>

<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'www.example.com');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($ch);
curl_close($ch);
echo $curl_response;
?>

click.js 我的目标是标签,所以当点击任何链接时,这将执行。这有用吗?

$(".a").click(function(){
$.getScript("curllink.php"); 
});

这是我希望js在带有标记的链接时运行的脚本 curllink.php

<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'WHAT DO I PUT HERE?');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($ch);
curl_close($ch);
echo $curl_response;
?>

请你检查一下并修复我所犯的任何错误。感谢

1 个答案:

答案 0 :(得分:1)

虽然您仍然需要对传入文件进行一些解析,但我认为您希望拦截脚本调用并阻止默认行为。

你的jquery看起来更像是这样:

$('a').click(function(){
  location.href='curllink.php?url='+escape($(this).attr('href'));
  return false;
});

PHP看起来像这样(删除CURL以简化:

<?php 
  echo file_get_contents($_REQUEST['url']);

我还没有测试过,但是应该可以工作......不需要转义传入的URL参数。

更新了JQuery 获得页面内容后,您需要将其放入。

$('a').live('click',function (e){
   var href = $(this).attr('href');
   href= href.replace('example.com','your_website.com');
   e.preventDefault();
   window.location.href = href;
   return ;
});