2012-01-24 51 views
2

我有一個與外部API交互的應用程序。當遠程服務器發佈包含特定狀態的請求時,我需要通過外部URL將該帖子的全部內容重新發送到不同的應用程序。

是否有可能將整個$ _REQUEST重新發布到其他位置?還是必須遍歷$ _REQUEST並構建一個新的數組以發佈需要的地方?

+0

您真的需要$ _REQUEST嗎?當所有的數據發佈後,你最好拿$ _POST。 –

回答

1

您應該區分$ _POST和$ _GET值。

$ _REQUEST代表來了通過GET POST,如果一個鍵被設置在$ _POST和$ _GET價值從$ _ POST具有優先權時得到保存到$ _REQUEST數組中的所有值。

將通過$ _GET傳遞的所有內容附加到URL中,併發送請求正文中$ _POST的所有內容。

3

$ _REQUEST是一個數組。所以,你可以把它發佈到你需要的地方。只需使用捲曲

1

使用$HTTP_RAW_POST_DATA可以節省重新編碼的開銷,如果兩個鏈段是一個POST方法

2

如果我正確理解你的問題你能與捲曲做到這一點:

$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(當然代碼在某些情況下可能會有所不同 - 例如,當它被人爲地配置爲另一個代碼時)

相關問題