Выполнение проверки на стороне сервера и публикация в удаленном скрипте - PullRequest
1 голос
/ 09 октября 2009

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

Я сделал это, заполнив HTML-форму и отправив ее с использованием javascript, но в этом есть очевидные недостатки. Я хочу создать пост и отправить браузер точно так же, как если бы он отправил форму на удаленный URL.

Я что-то упустил в документах по curl? Что такое товар и торговля? способ сделать это?

Ответы [ 4 ]

2 голосов
/ 09 октября 2009

Я не пробовал, но я хотел бы отправить форму в конечный пункт назначения и добавить функцию javascript onSubmit (), которая выполняет ajax-запрос к вашему серверу и возвращает true или false.

То есть, если вы можете положиться на JavaScript ...

2 голосов
/ 09 октября 2009

Просто запрос / ответ идут так:

+---------+   request    +--------+   curl request   +--------+
|         | -----------> |        | ---------------> |        |
| browser |              | url #1 |                  | url #2 |
|         | <----------- |        | <--------------- |        |
+---------+   response   +--------+   curl response  +--------+

Пользователь, сидящий за браузером, не будет знать, каков окончательный URL-адрес (URL № 2 сверху), поскольку его нет в источнике HTML, поэтому он никогда не взломает и не перепрыгнет через URL-адрес посредника. (url # 1) вручную.

2 голосов
/ 09 октября 2009

Вы можете использовать curl для этого.

Но у вас могут возникнуть другие проблемы. Файлы cookie, сеансы и т. Д. Устанавливаются, когда браузер физически публикует другой URL-адрес. Они могут быть не установлены при публикации с сервера. Вы также должны проверить вопросы о чистке экрана на SO для получения дополнительной информации по этому вопросу.

Предполагая, что это не так, вы сможете получить сообщение, проверить поля и сделать репост с помощью curl. Есть много много примеров из , делающих это .

редактировать

  • отправить форму на ваш сервер. Php
  • обрабатывать / проверять поля в server.php
  • опубликовать проверенные параметры с помощью curl в remote.service
1 голос
/ 09 октября 2009

Я считаю, что выпуском "wget" легче управлять, чем CURL.

$remoteContent = `wget -o - http://someremoteurl`;

Кроме того, ответ Мэтта правильный. Однако, если в ответе удаленного сайта о том, что вы просматриваете экран, содержатся ссылки, вам придется искать и заменять их (если вы хотите обрабатывать их самостоятельно) - и в этот момент вы создаете прокси-сервер. ..

-CF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...