2011-02-01 69 views
0

如何發送$ _ POST和去投稿頁面

我想

$rCurl = curl_init(); 
curl_setopt ($rCurl, CURLOPT_URL, SECUREURL.basename($_SERVER['PHP_SELF'])); 
curl_setopt ($rCurl, CURLOPT_TIMEOUT, 60); 
curl_setopt ($rCurl, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($rCurl, CURLOPT_RETURNTRANSFER, 0); 
curl_setopt ($rCurl, CURLOPT_POSTFIELDS, $sPostData); 
curl_setopt ($rCurl, CURLOPT_POST, 1); 
//$sHtmlResult = curl_exec ($rCurl); 
curl_exec ($rCurl); 
curl_close($rCurl); 

但結果返回到頁面並沒有什麼重定向OT目的地頁面絲毫結果

如何發送$ _ POST數據和將要發佈頁面這樣

header("Location:".SECUREURL.basename($_SERVER['PHP_SELF'])."?".$sPostData); 
+0

安德魯並沒有接受他提出的問題的任何答案。請注意,只有7. – 2011-02-01 06:42:33

+0

對不起,Col Shrapnel,但我投了答案,我還需要做別的 - 我不明白 – 2011-02-01 06:55:58

+0

哦..沒事,儘量使用 – 2011-02-01 07:02:49

回答

0

您的$ sPostData是什麼樣的?

我在POSTing之前使用以下內容爲CURL編碼數組。 $ post包含一個POST字段的關聯數組。

foreach($post as $key=>$value) { 
    $postString .= urlencode($key) . '=' . urlencode($value) . '&'; 
} 
rtrim($postString,'&'); 

然後:

curl_setopt($ch, CURLOPT_POST, count($post)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); 

的想法是,CURLOPT_POSTFIELDS應該像一個GET字符串和URL編碼。

您可能還需要設置CURLOPT_USERAGENT,CURLOPT_ENCODING,CURLOPT_HTTPHEADER。對於調試,您可以啓用CURLOPT_HEADER,CURLOPT_HEADER和CURLINFO_HEADER_OUT。從PHP

-1

HTTP POST,沒有捲曲

,你可以嘗試stream_context_create

 

$message = 'success' 
$opts = array(
    'http'=>array(
    'method'=>"POST", 
    'header'=>"Accept-language: en\r\n", 
    'content' => http_build_query(array('status' => $message)) 
) 
); 

$context = stream_context_create($opts); 

/* Sends an http request to www.example.com 
    with additional headers shown above and post the status */ 
$file = file_get_contents("http://www.example.com/", false, $http_options); 
-1

此。是。不可能。

我希望能夠明確地阻止那些不願意閱讀問題的人的進一步答案。