2012-06-25 102 views
-5

我有問題,是否有可能首先發布數據到一個網站,然後獲取我發佈數據的網站的源代碼?發佈數據&顯示源代碼

我試着用這樣的:

$html = file_get_contents('http://test.com/test.php?test=test'); 

但測試=測試$ _GET ....

所以,是的,我希望有人能幫助我嗎?! :)
在此先感謝(對不起,壞英語!)。

+0

試卷曲文章http://davidwalsh.name/execute-http-post-php-curl –

+0

你可以得到由請求生成的html,而不是使用curl的源代碼。 –

回答

1

您可以使用此功能的第三個參數:方面

$postdata = http_build_query(
    array(
     'var1' => 'some content', 
     'var2' => 'doh' 
    ) 
); 

$opts = array(
    'http' => array(
     'method' => "POST", 
     'header' => "Connection: close\r\n". 
         "Content-Length: ".strlen($postdata)."\r\n", 
     'content' => $postdata 
) 
); 

$context = stream_context_create($opts); 

$result = file_get_contents('http://example.com/submit.php', false, $context); 

//編輯 - 小錯誤應該是:

$opts = array(
    'http' => array(
     'method' => "POST", 
     'header' => "Connection: close\r\n". 
        "Content-type: application/x-www-form-urlencoded\r\n". 
        "Content-Length: ".strlen($postdata)."\r\n", 
     'content' => $postdata 
) 
); 
+0

當我測試它時,它只是「重定向」我http://example.com/submit.php? – GuiceU

+0

你必須輸入你的網址,這只是個例子... –

+0

當然我這麼做... – GuiceU

0

您無法獲取源代碼,但可以獲取由服務器提供的頁面/輸出。正如您提到file_get_contents(),您可以使用它發送POST請求,但它看起來像這樣。

// Create map with request parameters 
$params = array ('surname' => 'Filip', 'lastname' => 'Czaja'); 

// Build Http query using params 
$query = http_build_query ($params); 

// Create Http context details 
$contextData = array ( 
       'method' => 'POST', 
       'header' => "Connection: close\r\n". 
          "Content-Length: ".strlen($query)."\r\n", 
       'content'=> $query); 

// Create context resource for our request 
$context = stream_context_create (array ('http' => $contextData)); 

// Read page rendered as result of your POST request 
$result = file_get_contents (
        'http://www.sample-post-page.com', // page url 
        false, 
        $context); 

// Server response is now stored in $result variable so you can process it 

來自實例:http://fczaja.blogspot.se/2011/07/php-how-to-send-post-request-with.html