JQuery 在链接单击以执行 curl 时


JQuery on link click to execute 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;
?>

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

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

这是我希望js在带有标签的链接时运行的脚本卷曲链接.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;
?>

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

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

你的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 ;
});