-2

我需要使用 CURL将一些数据从一台服务器发布(Server-1)到另一台服务器。(Server-2)在这种情况下,我需要在server-2.

那么如何获取请求后的域名(server-1)Server-2

CURL 中是否有任何内置方法可用?

任何帮助非常感谢。

样本 :

服务器 1 http://domain1.com

                $serviceUrl = 'http://domain1.com/data';
                $curl = curl_init($serviceUrl);

                $curlPostData = array("data" => $data);

                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPostData);

                $curlResponse = curl_exec($curl);

                curl_close($curl);

服务器 2 http://domain2.com

<?php

                $data = $_POST['data'];

                //I need to get the http://domain1.com using curl or php?

                // Some Code Process

                ?>

谢谢

4

3 回答 3

2

您可以将请求服务器 url 与数据一起传递

于 2012-12-19T09:56:30.320 回答
2

我真的不明白你的问题。你只需要说引用域是server-1?在这种情况下,您可以在 bash 脚本中执行以下操作:

curl -X POST -e 'http://domain1.com' --data 'key=value&anotherkey=anothervalue' http://domain2.com

或者您需要来自该服务器的数据?在这种情况下,您将如何检索这些数据?请求将从哪里发送?

于 2012-12-19T10:04:42.423 回答
1

在检索发布请求的服务器上,使用 php$_SERVER变量读取标头。

http://php.net/manual/en/reserved.variables.server.php

$post = $_SERVER['HTTP_ORIGIN'];或 '$post = $_SERVER['HTTP_REFERER']' 取决于你想要什么。

您还可以在发送请求并检索它时定义一个属性,例如:'$_POST['myattr']'

我希望这会有所帮助,但是您的问题仍然有点草率,所以我不知道这是否是您想要实现的目标。

于 2012-12-19T13:58:37.467 回答