2012-02-07 36 views
0

我想發送一些值給一個asp.net表單發送短信由PHP,但它沒有發送任何值,我認爲問題是從asp.net表單元素名稱例如一個名稱文本字段的是 「ctl00 $ ContentPlaceHolder1 $ txtnum」發送價值到ASP.net表格

我的代碼:

<? 
$text=$_GET['nome']; 

    $strCookie = "ASP.NET_SessionId=uwf4xv55la1ojtjsm0sbnynb;vipcard=210927C5B78543C4A0645F15A561D171F5D3FEADF320B173E380799EB6B5086F7472F9910C39496F84C6EF7C86356E5E1BB8E22F9E93C59C347FC7301D954CA669F22E6D4A3655136BD0929FE4AE1A36416DD2FAC65A6CF4EBC3DC5D7907B455C02D1762D11FFEA07C4DA8260371EA4dfgdfA6CEC59A7"; 
    // set URL and other appropriate options 
    $url = 'http://www.sms.com/seller/HomePage.aspx'; 

//set POST variables 
$fields = array(
    'ctl00$ContentPlaceHolder1$txtnum' => '092983940***', 
    'ctl00$ContentPlaceHolder1$dds1' => '30001607' , 
    'ctl00$ContentPlaceHolder1$t3' => "hello how are u", 
    'ctl00$ContentPlaceHolder1$Button2' => 'submit' 
       ); 

// set user agent 
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5'; 

//open connection 
$ch = curl_init(); 

//set the url, POST data, UserAgent, Timeout, etc. 
curl_setopt($ch, CURLOPT_COOKIE, $strCookie); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields); 
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 500000); //time out of 0.5 seconds. 

//execute post 
curl_exec($ch); 
?> 

這是可能的值發送到asp.net的形式? 還有其他想法嗎? 謝謝

回答

0

它可以直接發送數據到一個asp.net網頁,但它可能會忽略該請求,如果它不是旨在處理直接的帖子。

在參考表單名稱時,您會看到asp.net根據它們在頁面層次結構中的位置來構建控件名稱。

名稱ctl00 $ ContentPlaceHolder1 $ txtnum意味着名爲txtnum的字段位於contentplaceholder內。

在服務器端,asp.net表單集合將包含名爲txtnum的表單帖子變量,而不是用於確保頁面內唯一性的較長版本。

如果頁面沒有設置爲處理直接提交後提交,那麼它將忽略所發送的數據。

ASP.net頁面通常會使用回發事件,這意味着數據處理將放置在該按鈕控件的onclick事件中,該事件在頁面生命週期內引發並處理。

如果您需要直接發佈到ASP.net頁面,我會與託管該頁面的公司聯繫,如果他們有可以直接發佈到的頁面或服務。