#php #web-services #php-curl
#php #веб-сервисы #php-curl
Вопрос:
я хочу спросить, возможно ли это — пользователь находится на сервере A, он выполняет определенные действия и генерируется результат. теперь вместо отображения этого результата на сервере A я хочу, чтобы он отображался на сервере B. Пример— пользователь выполняет задачу на сервере A, результаты генерируются на сервере A, а затем результат отправляется на сервер B, и данные отображаются на сервере B путем перенаправления пользователя на сервер B с сервера A. Возможен ли этот сценарий?
Комментарии:
1. Конечно, это возможно при некоторой работе.
2. «данные отображаются на сервере B путем перенаправления пользователя на сервер B с сервера A» … если вы сделаете это, данные вообще не будут отображаться на сервере B, они просто будут отображаться в браузере пользователя, потому что вы перенаправили их на сервер A. Если это то, что вы собираетесь делать, вам не нужно отправлять фактические данные на сервер B, вам просто нужен какой-то способ, чтобы сервер B знал, что они доступны. Но вы знаете, что абстрактный сценарий, подобный этому, часто скрывает реальную цель и тонкости. Не зная, что вы на самом деле пытаетесь реализовать, трудно дать что-то большее, чем очень расплывчатый совет.
3. спасибо вам, ребята, за быстрый ответ. @Jon Stirling можете ли вы объяснить, как возможен сценарий.
4. Нет. Существует слишком много возможностей наряду со слишком большим количеством неизвестных, что делает этот вопрос слишком широким для SO. Сначала попробуйте сами, а затем, если у вас возникнут конкретные вопросы по программированию, связанные с проблемами вашего собственного решения, не стесняйтесь обращаться к нам снова.
5. @ADyson хорошо, вот чего я пытаюсь достичь. Пользователь нажимает на ссылку активации, полученную в его электронном письме. ссылки попадают на сервер A и выполняется проверка, если проверка прошла успешно, создается изображение, которое затем преобразуется в строку base_64, и эта строка base_64 отправляется на сервер B, где пользователь может просмотреть это изображение или загрузить его. я выполнил задачу по генерации строки base_64. теперь хочу отправить эту строку на сервер B или отобразить ее на сервере B. как я могу этого добиться?
Ответ №1:
Да, это возможно.
Вот очень простой пример:
скрипт на сервере A:
<?php
// do some calculation based on the input
$result = $_GET['number1'] $_GET['number2'];
//redirect to Server B, pass the result as a parameter in the URL
header("Location: //server-b.org/displayResult?result=$result");
exit;
скрипт на сервере B:
<?php
echo $_GET['result'];
Комментарии:
1. спасибо за ответ. но дело в том, что я не хочу передавать данные по URL, а также данные, которые я хочу отправить, большие, поэтому я не думаю, что передача через URL будет работать. Любое другое решение будет полезным.
2. Затем вам нужно отправить POST-запрос на сервер B. Вместо заголовка (Location: …) вы бы использовали cURL (вам нужно посмотреть, как его использовать). С помощью cURL вы можете вызывать URL-адрес на любом сервере, а также отправлять большие Postdata. Серверу B необходимо сохранять полученные данные в файле или базе данных. Затем, после завершения вызова cURL, вы можете перенаправить (снова с помощью заголовка (Location: …)) на URL-адрес на сервере B, который загружает только что сохраненные данные.
3. не могли бы вы, пожалуйста, доработать
4. я пробовал это. но я хочу отображать данные, а не хранить их. Спасибо за решение. любое другое решение
5. Разве вы не можете просто отобразить файл с сервера A на сервере B? (например, отправьте URL изображения, а затем используйте его в теге img на сервере B)