我用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 ;
});