菜单

_POST获取html表单form数据教程,用PHP模拟POST来提交数据

2019年8月5日 - 4166am金沙下载

先来看个最简单的实例

利用php的socket编程来直接给接口发送数据来模拟post的操作。

<?PHP $flag = 0; //要post的数据$argv = array(
‘sn’=>’SDK-BBX-010-XXXXX’, ‘pwd’=>’XXXXXX’,
‘mobile’=>’15201692834’, ‘content’=>’你好吗,测试短信’ );
//构造要post的字符串foreach ($argv as $key=>$value) { if ($flag!=0) {
$params .= “&”; $flag = 1; } $params.= $key.”=”; $params.=
urlencode($value); $flag = 1; } $length = strlen($params);
//创建socket连接 $fp = fsockopen(“sdk2.entinfo.cn”,80,$errno,$errstr,10)
or exit($errstr.”—>”.$errno); //构造post请求的头 $header = “POST
/z_send.aspx HTTP/1.1\r\n”; $header .= “Host:sdk2.entinfo.cn\r\n”;
$header .= “Referer:/mobile/sendpost.php\r\n”; $header .=
“Content-Type: application/x -www-form-urlencoded\r\n”; $header .=
“Content-Length: “.$length.”\r\n”; $header .= “Connection:
Close\r\n\r\n”; //添加post的字符串 $header .= $params.”\r\n”;
//发送post的数据 fputs($fp,$header); $inheader = 1; while (!feof($fp)) {
$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 if
($inheader && ($line == “\n” || $line == “\r\n”)) { $inheader = 0; }
if ($inheader == 0) { // echo $line; } } if($line==1) { echo
‘短信发送成功 请查收 返回值’.$line ; }else { echo
‘短信发送失败,请根据返回值查看相关错误问题 返回值’.$line ; }fclose($fp);

 代码如下

<?
/***********************************************************
Name: POST 测试程序 Vesion: 1.0 Date: 2004-08-05
************************************************************/
/ $flag = 0;
//要post的数据
$argv = array(
‘var1’=>’abc’,
‘var2’=>’你好吗’);
//构造要post的字符串
foreach ($argv as $key=>$value) {
if ($flag!=0) {
$params .= “&”;
$flag = 1;
}
$params.= $key.”=”; $params.= urlencode($value);
$flag = 1;
}
$length = strlen($params);
//创建socket连接
$fp = fsockopen(“127.0.0.1″,80,$errno,$errstr,10) or
exit($errstr.”—>”.$errno);
//构造post请求的头
$header = “POST /mobile/try.php HTTP/1.1rn”;
$header .= “Host:127.0.0.1rn”;
$header .= “Referer:/mobile/sendpost.phprn”;
$header .= “Content-Type: application/x-www-form-urlencodedrn”;
$header .= “Content-Length: “.$length.”rn”;
$header .= “Connection: Closernrn”;
//添加post的字符串
$header .= $params.”rn”;
//发送post的数据
fputs($fp,$header);
$inheader = 1;
while (!feof($fp)) {
$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
if ($inheader && ($line == “n” || $line == “rn”)) {
$inheader = 0;
}
if ($inheader == 0) {
echo $line;
}
}
fclose($fp);
?>

[PHP]代码

<form action =”post.php”
method =”post”>
Name: <input type=”text” name=”username” />
<input type =”submit” value=”ok” />
</form>

<?PHP  
$flag = 0; 
        //要post的数据 
$argv = array( 
                 'sn'=>'SDK-BBX-010-XXXXX', 
         'pwd'=>'XXXXXX', 
         'mobile'=>'15201692834', 
                 'content'=>'你好吗,测试短信'
         );          
//构造要post的字符串 
foreach ($argv as $key=>$value) { 
          if ($flag!=0) { 
                         $params .= "&"; 
                         $flag = 1; 
          } 
         $params.= $key."="; $params.= urlencode($value); 
         $flag = 1; 
          } 
         $length = strlen($params); 
                 //创建socket连接 
         $fp = fsockopen("sdk2.entinfo.cn",80,$errno,$errstr,10) or exit($errstr."--->".$errno); 
         //构造post请求的头 
         $header = "POST /z_send.aspx HTTP/1.1\r\n"; 
         $header .= "Host:sdk2.entinfo.cn\r\n"; 
         $header .= "Referer:/mobile/sendpost.php\r\n"; 
         $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
         $header .= "Content-Length: ".$length."\r\n"; 
         $header .= "Connection: Close\r\n\r\n"; 
         //添加post的字符串 
         $header .= $params."\r\n"; 
         //发送post的数据 
         fputs($fp,$header); 
         $inheader = 1; 
          while (!feof($fp)) { 
                         $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据 
                         if ($inheader && ($line == "\n" || $line == "\r\n")) { 
                                 $inheader = 0; 
                          } 
                          if ($inheader == 0) { 
                                // echo $line; 
                          } 
          } 
                        if($line==1)
                           {
                            echo '短信发送成功 请查收 返回值'.$line ;  
                           }else
                           {
                               echo '短信发送失败,请根据返回值查看相关错误问题 返回值'.$line ;
                           }
fclose($fp); 

如我输入 你好,

post.php文件代码如下

 代码如下

You are <?php echo $_POST[“username”]?>.

输出结果就是

You are 你好

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图