我有一個與外部API交互的應用程序。當遠程服務器發佈包含特定狀態的請求時,我需要通過外部URL將該帖子的全部內容重新發送到不同的應用程序。
是否有可能將整個$ _REQUEST重新發布到其他位置?還是必須遍歷$ _REQUEST並構建一個新的數組以發佈需要的地方?
我有一個與外部API交互的應用程序。當遠程服務器發佈包含特定狀態的請求時,我需要通過外部URL將該帖子的全部內容重新發送到不同的應用程序。
是否有可能將整個$ _REQUEST重新發布到其他位置?還是必須遍歷$ _REQUEST並構建一個新的數組以發佈需要的地方?
您應該區分$ _POST和$ _GET值。
$ _REQUEST代表來了通過GET 和 POST,如果一個鍵被設置在$ _POST和$ _GET價值從$ _ POST具有優先權時得到保存到$ _REQUEST數組中的所有值。
將通過$ _GET傳遞的所有內容附加到URL中,併發送請求正文中$ _POST的所有內容。
$ _REQUEST是一個數組。所以,你可以把它發佈到你需要的地方。只需使用捲曲
查找捲曲,這應該是相當容易:
我會使用cURL擴展。
使用$HTTP_RAW_POST_DATA
可以節省重新編碼的開銷,如果兩個鏈段是一個POST方法
如果我正確理解你的問題你能與捲曲做到這一點:
$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);
其中「字段1 =值&場2 =值2" 被替換爲您ARGS
而且你能夠得到的操作如何完成結果:
$ result = curl_exec($ ch)後的210;使用:
$result_info = curl_getinfo($ch);
現在在$result_info['http_code']
被放置HTTP代碼。如果是200,那麼SUCCESS(當然代碼在某些情況下可能會有所不同 - 例如,當它被人爲地配置爲另一個代碼時)
您真的需要$ _REQUEST嗎?當所有的數據發佈後,你最好拿$ _POST。 –