我想将一些值发送到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表单吗? 还有其他想法吗? 谢谢
答案 0 :(得分:0)
可以直接将数据发送到asp.net网页,但如果请求不是为了处理直接帖子,它可能会忽略该请求。
在参考表单名称时,您会看到asp.net根据页面层次结构中的位置构建控件名称。
名称ctl00 $ ContentPlaceHolder1 $ txtnum意味着名为txtnum的字段放在contentplaceholder中。
在服务器端,asp.net表单集合将包含一个名为txtnum的表单发布变量,而不是用于确保页面内唯一性的较长版本。
如果页面没有设置为处理直接提交后提交,那么它会忽略正在发送的数据。
ASP.net页面通常使用回发事件,这意味着数据的处理将被放置在该按钮控件的onclick事件中,事件在页面生命周期内被引发和处理。
如果您需要直接发布到ASP.net页面,我会检查托管该页面的公司,如果他们有可以直接发布的页面或服务。