JQuery по ссылке нажмите, чтобы выполнить curl - PullRequest
1 голос
/ 17 мая 2011

Я использовал curl для загрузки веб-страницы.На этой странице есть ссылки.На странице извлечения скручивания, когда я щелкаю ссылку, я хочу, чтобы JQuery выполнил скрипт скручивания для получения этой ссылки.У меня есть следующий код ..

Это моя индексная страница, которая извлекает example.com с помощью curl и выводит его.

<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 Ответ

1 голос
/ 17 мая 2011

Несмотря на то, что вам все равно нужно будет выполнить некоторый анализ входящего файла, я думаю, что вы хотите перехватить вызов сценария и предотвратить поведение по умолчанию.

Ваш 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 ;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...