如何将整个$ _REQUEST重新发布到另一个端点?

时间:2012-01-24 17:27:25

标签: php

我有一个与外部API交互的应用程序。当远程服务发布包含特定状态的请求时,我需要通过外部URL将该帖子的全部内容重新发送到其他应用程序。

是否有可能获取整个$ _REQUEST并将其重新发布到其他位置,或者我是否必须遍历$ _REQUEST并构建一个新数组以便在需要的位置发布?

6 个答案:

答案 0 :(得分:3)

$ _ REQUEST是一个数组。所以是的,你可以把它贴在你需要的地方。只需使用cURL

答案 1 :(得分:2)

如果我正确理解了您的问题,您可以使用CURL执行此操作:

    $ch = curl_init("http://sitename.com/");
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "field1=value1&field2=value2");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);

其中“field1 = value1& field2 = value2”将替换为您的args

此外,您还可以获得操作完成的结果:

<$> $ result = curl_exec($ ch)之后;使用方法:

 $result_info = curl_getinfo($ch);

现在在$result_info['http_code']中放置了HTTP CODE。如果它是200那么SUCCESS(当然代码在某些情况下可能会有所不同 - 例如,当它被人工配置为另一个代码时)

答案 2 :(得分:1)

你应该区分$ _POST和$ _GET值。

$ _ REQUEST表示GET POST的所有值,如果在$ _POST中设置了一个键,并且$ _POST的$ _GET值在保存到$ _REQUEST数组时优先。< / p>

将通过$ _GET传递的所有内容附加到URL,并从请求正文中的$ _POST发送所有内容。

答案 3 :(得分:1)

如果两个段都是POST方法,使用$HTTP_RAW_POST_DATA可以节省重新编码的开销

答案 4 :(得分:0)

Lookup CURL,这应该很容易:

http://davidwalsh.name/execute-http-post-php-curl

答案 5 :(得分:0)

我会使用cURL扩展名。