jQuery по ссылке нажмите, чтобы выполнить curl

#php #jquery #curl

#php #jquery #curl

Вопрос:

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

Это моя индексная страница, которая извлекает 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. У меня так много вопросов… почему вы пытаетесь запустить, прежде чем сможете ходить? во-первых, где находится <a> тег, 2. что $.getScript() такое? 3. есть ли контент на вашем веб-сайте? или сторонний веб-сайт?

2. Потому что я пытаюсь что-то сделать, и это предполагает, что мне нужно это сделать. Первый блок кода — это мой сайт. Он извлекает example.com и это echo, поэтому мой сайт выглядит точно так же, как example.com . Затем я нажимаю ссылку на своем сайте. Теперь он перенаправляет на example.com (оригинальный сайт), который мне не нужен. Я хочу, чтобы он извлекал example.com перейдите по ссылке, на которую вы указали, и отобразите ее на моем сайте. Тег <a> — это каждая ссылка, являющаяся тегом <a>. Остальное я не знаю, я пытаюсь найти ответ, собирая воедино материал, который может возникнуть. Вот почему я прошу о помощи..

3. Вы пытаетесь ввести людей в заблуждение? потому что вы не получаете от меня никакой помощи по этому поводу, лол,

4. Нет, совсем нет. Это приложение с веб-интерфейсом, и мне нужно повторно отобразить его, чтобы создать онлайн-версию. Обещаю, что это вообще не вводит в заблуждение.

5. Проверьте ответ Джона на jQuery

Ответ №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 ;
});
  

Комментарии:

1. Что насчет других файлов, curllink.php что мне сделать, чтобы это исправить?

2. 2-й блок (PHP) — это вся предлагаемая мной замена для curllink.php .

3. На самом деле, это проблематично… При этом не учитываются относительные URL-адреса. Для этого вам нужно будет выполнить некоторый синтаксический анализ URL-адресов … скорее всего, в JavaScript.

4. Но, конечно, если в curl нет curllink.php затем он просто перейдет к исходному файлу..

5. @Michael curl это библиотека php или расширение, если хотите, оно получает страницу (по URL), затем получает ее содержимое, заголовки и все остальное полезное и манипулирует им, большинство поисковых систем используют этот метод для сбора данных веб-сайта.