2011-03-03 31 views
1

嗨我試圖發送後值使用PHP腳本到外部網站,並得到結果。我的代碼如下POST _viewstate與php

$postdata = http_build_query(
    array(
     'drpservice' => 091, 
     'drpdirection' => 1, 
     'drpbusstop' => 18051 
    ) 
); 

$opts = array('http' => 
    array(
     'method' => 'POST', 
     'header' => 'Content-type: application/x-www-form-urlencoded', 
     'content' => $postdata 
    ) 
); 

$context = stream_context_create($opts); 

$result = file_get_contents($url, false, $context); 

echo $result; 

但是,它不會返回所需的結果,除非我可以管理在隱藏_VIEWSTATE送價值。 任何人都可以提供幫助嗎?

+2

_VIEWSTATE通常用於.NET網站。我不得不在PHP中複製.NET狀態序列化系統。祝你好運。 他們沒有更簡單的API /服務,你可以使用? – Ben 2011-03-03 05:53:58

+2

撇開,如果你不知道 - PHP會嘗試評估'091'爲八進制給你'0'。您需要將它作爲字符串「」091「'傳遞或丟棄前導零。 – 2011-03-03 06:00:47

回答

0

您需要先使用GET請求獲取表單頁面,然後才能使用正則表達式解析頁面以獲取_VIEWSTATE值。

然後在執行POST時傳遞您獲得的值。