php 模拟POST提交的几种方法
来源:互联网 发布:中考必备2017软件 编辑:程序博客网 时间:2024/05/17 06:29
1、curl
$post_data = array();$post_data['clientname'] = "test08";$post_data['clientpasswd'] = "test08";$post_data['submit'] = "submit";$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';$o="";foreach ($post_data as $k=>$v){ $o.= "$k=".urlencode($v)."&";}$post_data=substr($o,0,-1);$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_URL,$url);//为了支持cookiecurl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);$result = curl_exec($ch);
2、fsockopen
$URL=‘http://xxx.xxx.xxx.xx/xx/xxx/top.php';$post_data['clientname'] = "test08";$post_data['clientpasswd'] = "test08";$post_data['submit'] = "ログイン";$referrer="";// parsing the given URL$URL_Info=parse_url($URL);// Building referrerif($referrer=="") // if not given use this script as referrer$referrer=$_SERVER["SCRIPT_URI"]; // making string from $dataforeach($post_data as $key=>$value)$values[]="$key=".urlencode($value); $data_string=implode("&",$values);// Find out which port is needed - if not given use standard (=80)if(!isset($URL_Info["port"]))$URL_Info["port"]=80;// building POST-request:$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";$request.="Host: ".$URL_Info["host"]."\n";$request.="Referer: $referrer\n";$request.="Content-type: application/x-www-form-urlencoded\n";$request.="Content-length: ".strlen($data_string)."\n";$request.="Connection: close\n";$request.="\n";$request.=$data_string."\n";$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);fputs($fp, $request);while(!feof($fp)) { $result .= fgets($fp, 128);}fclose($fp);
3、其它还有
Snoopy 类 :sourceforge.net/projects/snoopy/
- php 模拟POST提交的几种方法
- php 模拟POST提交的2种方法
- PHP模拟POST提交的2种方法
- php 模拟POST提交的2种方法
- php 模拟POST提交的2种方法
- php 模拟POST提交的4种方法
- php 模拟POST提交的三种方法[实例代码]
- php 模拟POST提交数据的2种方法
- php模拟get和post的几种方法
- PHP中模拟post提交数据的方法
- C#几种模拟自动登录和提交POST信息的实现方法
- C#几种模拟自动登录和提交POST信息的实现方法
- php中模拟POST提交数据两种方法
- php模拟post提交数据方法
- php模拟post提交(方法一)
- php模拟post提交(方法二)
- PHP的三种HTTP请求,php模拟post 提交
- PHP模拟POST提交的2种方法 curl,fsockopen,HttpClient
- 第一章 C语言概论
- Android 环境搭建
- svn在linux下的使用(svn命令行)
- 有关于C++ 0x的一些
- size_type、size_t、different_type以及ptrdiff_t 的使用
- php 模拟POST提交的几种方法
- 教你如何查找入侵者
- 线段Hash算法(原创)
- 为什么使用 node.js 分享
- 回收站(recyclebin)引发row cache lock
- ASCII码表及中英文名称
- 第三章 C语言程序设计初步
- MYSQL
- 电容