我使用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;
?>
请你检查一下并修复我所犯的任何错误。感谢
答案 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 ;
});