php 使用cURL 模拟注册
来源:互联网 发布:布吕歇尔 知乎 编辑:程序博客网 时间:2024/06/06 23:54
整个过程注意cookie,本案例注册过程的验证码是通过一个HTML页面手动输入的。
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
/*
由7200跳转到开户流程
*/
$cookie_jar = dirname(__FILE__)."/cookie.txt";
$step2 = '';$ch = curl_init($step2);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
$contents = curl_exec($ch);
// dump($contents);
curl_close($ch);/*
由开户流程跳转到申请开户
*/
$step3 = '';
$ch = curl_init($step3);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
$contents3 = curl_exec($ch);
// dump($contents3);
// echo "$contents3";
curl_close($ch);/*
由申请开户跳转到问卷
*/
//初始化
$ch = curl_init();
$post_data = 'ck=on&brokerId=7200';
$url = "";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回,0是返回,1是不返回
curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
if($output === FALSE)
{
echo "<br/>","cUrl Error:".curl_error($ch);
}
// echo $output;
curl_close($ch);
//获取cookie
//
// var_dump($cookieInfo);
//
/*
由问卷跳转到照片实例
填写问卷 跳转地址
*/
$cookie_jar = dirname(__FILE__)."/cookie.txt";
$ch = curl_init();
$post_data =
'one=C&two=C&three=B&four=C&five=D&six=B&severn=A&eight=D&nine=C&ten=C&eleven=A&twelve=A&thirteen=C&fourteen=A&brokerId=7200';
$url = "";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回,0是返回,1是不返回
curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$content4 = curl_exec($ch);
if($content4 === FALSE)
{
echo "<br/>","cUrl Error:".curl_error($ch);
}
// echo $content4;
curl_close($ch);/*
由照片实例跳转到个人信息--
*/
$ch = curl_init();
$post_data = 'brokerId=7200';
$url = "";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行结果是否被返回,0是返回,1是不返回
curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$content5 = curl_exec($ch);
if($content5 === FALSE)
{
echo "<br/>","cUrl Error:".curl_error($ch);
}
// echo $content5;die;
curl_close($ch);//取出验证码
$verify_code_url = "";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $verify_code_url);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$img = curl_exec($curl);
curl_close($curl);
$fp = fopen("verifyCode.jpg","w");
fwrite($fp, $img);
fclose($fp);
// header();
$link = 'http://localhost/zhuce2.php';
header('location:' . $link);
zhuce2.php
<?php
curl_setopt(
curl_close($curl);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="zhuce3.php" method="get">
<img src="http://localhost/verifyCode.jpg" alt=""><br>
验证码:<input type="text" name="vcode"><br>
<input type="submit" value="提交">
</form>
</body></html>
zhuce3.php
/*
由个人信息跳转到—
*/
header(“Content-type: text/html; charset=utf-8”);
ini_set(‘display_errors’, ‘on’);
error_reporting(E_ALL);
$cookie_jar = dirname(FILE).”/cookie.txt”;
//注: PHP 5.5.0起,文件上传建议使用CURLFile代替@
// var_dump($data);
$ch = curl_init();
//
$data = array(
‘name’ => ‘邬军胜’,
‘attach’ =>new CURLFile(‘D:\phpStudy\WWW/0.jpg’),
‘attachhou’ =>new CURLFile(‘D:\phpStudy\WWW/0.jpg’),
‘picyin’ =>new CURLFile(‘D:\phpStudy\WWW/0.jpg’),
'registeredPhoneNo' => '13033401116','cardType' => '1','cardNumber' => '533400199108119898','recommendBankCode' => '10','bankAccount' => '2344 3064 0020 1113','brokerId' => '7200','selectp' => '北京','address1' => '北京','address' => '北京','contactMan' => 'Tom','selectp' => '北京','type' => '3','sex' => '1','ContacterPhoneNo' => '13663012982','ReFreeAccount' => '23423434324230','ck' => 'on','yanzhengma' => $yanzhengma
);
curl_setopt(
curl_setopt(
curl_setopt(
curl_setopt(
curl_setopt(
//执行并获取结果
if(
// echo
// var_dump($_POST);
// die;
//
/*
注册成功页
*/
$cookie_jar = dirname(FILE).”/cookie.txt”;
curl_setopt(
curl_setopt(
curl_setopt(
curl_setopt($ch, CURLOPT_REFERER,’http://www.wjybk.com‘);
curl_setopt(
{
echo “
”,”cUrl Error:”.curl_error(ch);
}
// echocontent7;
curl_close($ch);
?>
在每一次curl获得结果时加这个,地址自己重改,这样就可以看每一步的结果。
- php 使用cURL 模拟注册
- php使用curl可以get 模拟post
- php使用curl模拟用户登陆
- php使用curl模拟提交XML
- php 使用curl模拟登录人人网
- PHP使用curl模拟登录网站
- php 使用curl模拟登录discuz以及模拟发帖
- php使用curl模拟登录discuz以及模拟发帖
- php 使用curl模拟登录discuz以及模拟发帖
- php使用curl模拟登录discuz以及模拟发帖
- php curl模拟登陆
- PHP Curl模拟
- PHP - CURL 模拟请求
- php curl模拟登陆
- PHP CURL 模拟请求
- php 使用curl模拟登录人人(校内)网
- 使用PHP curl模拟浏览器抓取网站信息
- php使用curl 模拟表单提交文件和数据
- 提高VS使用逼格的快捷键以及一些错误的处理方法
- 通话记录
- android——第一个项目HelloWord
- 【linux】VMware安装CentOS 6.4
- 动态规划解决迷宫问题
- php 使用cURL 模拟注册
- jni 入门实例
- 多线程基础
- Java基础复习
- 拨号键盘
- TOJ 2801.Binary Trees(二叉树后序转中序)
- 《产品前线:48位一线互联网产品经理的智慧与实战》读书笔记4
- Gallery与ImageSwitcher总结
- Android中一键退出程序方法