将值发送到ASP.net表单

时间:2012-02-07 06:38:56

标签: php curl sms

我想将一些值发送到asp.net表单以通过PHP发送短信但它不发送任何值,我认为问题来自asp.net表单元素名称,例如文本字段的名称是“ctl00 $ ContentPlaceHolder1 $ txtnum“

我的代码:

<?
$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表单吗? 还有其他想法吗? 谢谢

1 个答案:

答案 0 :(得分:0)

可以直接将数据发送到asp.net网页,但如果请求不是为了处理直接帖子,它可能会忽略该请求。

在参考表单名称时,您会看到asp.net根据页面层次结构中的位置构建控件名称。

名称ctl00 $ ContentPlaceHolder1 $ txtnum意味着名为txtnum的字段放在contentplaceholder中。

在服务器端,asp.net表单集合将包含一个名为txtnum的表单发布变量,而不是用于确保页面内唯一性的较长版本。

如果页面没有设置为处理直接提交后提交,那么它会忽略正在发送的数据。

ASP.net页面通常使用回发事件,这意味着数据的处理将被放置在该按钮控件的onclick事件中,事件在页面生命周期内被引发和处理。

如果您需要直接发布到ASP.net页面,我会检查托管该页面的公司,如果他们有可以直接发布的页面或服务。

相关问题