<?php
header('Content-type: text/html;charset=UTF-8');
$action=$_REQUEST['action'];
//获取验证码
if($action=='ask_reg'){
$phone=$_REQUEST['phone'];
if(!preg_match('/^((13[0-9]{1})|159|153|189)+\d{8}$/',$phone)){
echo json_encode(array("result"=>"phoneError"));
exit;
}
$arr = array ("phone"=>$phone,"mac"=>"aabbccdreeff");
$data=json_encode($arr);
//$url='http://mobile.9797168.com:8080/uc/ask_reg?data={"phone":"15913160604","mac":"aabbccdreeff"}';
$url='http://mobile.9797168.com:8080/uc/ask_reg';
$json_data = postData($url, $data);
echo $json_data; }elseif($action=='usr_reg'){
//注册用户
$phone=$_REQUEST['phone'];
$nickname=$_REQUEST['nickname'];
$pswd=$_REQUEST['pswd'];
$validcode=$_REQUEST['validcode'];
if(!preg_match('/^((13[0-9]{1})|159|153|189)+\d{8}$/',$phone)){
echo json_encode(array("result"=>"phoneError"));
exit;
}
$arr = array (
"nickname"=>$nickname,
"phone"=>$phone,
"pswd"=>$pswd,
"mac"=>"aabbccdreeff",
"validcode"=>$validcode
);
$data=json_encode($arr);
$url='http://mobile.9797168.com:8080/uc/usr_reg';
$json_data = postData($url, $data); echo $json_data;
}elseif($action=='usr_login'){
//用户登陆
$phone=$_REQUEST['phone'];
$pswd=$_REQUEST['pswd'];
if(!preg_match('/^((13[0-9]{1})|159|153|189)+\d{8}$/',$phone)){
echo json_encode(array("result"=>"phoneError"));
exit;
}
$arr = array (
"phone"=>$phone,
"pswd"=>$pswd
);
$data=json_encode($arr);
$url='http://mobile.9797168.com:8080/uc/usr_login';
$json_data = postData($url, $data);
echo $json_data;
} //curl 模拟提交交
function postData($url, $data)
{
$ch = curl_init();
$timeout = 300;
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_REFERER, "http://127.0.0.1/"); //构造来路
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'data='.$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$handles = curl_exec($ch);
curl_close($ch);
return $handles;
}

php模拟post 提交表单的更多相关文章

  1. C#模拟POST提交表单(一)--WebClient

    C#的提交表单方式主要有两种WebClient与HttpWebRequest,这里先介绍一种 WebClient,转送门:http://msdn.microsoft.com/zh-cn/library ...

  2. js模拟支付宝提交表单

    弄过支付宝的程序猿可能都知道,里面有非常多地方都用到了自提交表单的方式,支付宝的接口通过请求API的形式取得server返回的表单字符串,使用out.print("表单字符串")在 ...

  3. Java模拟post提交表单数据

    package test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOExcep ...

  4. C#模拟POST提交表单(二)--HttpWebRequest以及HttpWebResponse

    上次介绍了用WebClient的方式提交POST请求,这次,我继续来介绍用其它一种方式 HttpWebRequest以及HttpWebResponse 自认为与上次介绍的WebClient最大的不同之 ...

  5. 【HTTP】模拟form提交表单(转)

    第一种:WebClient string postString = "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是for ...

  6. js模拟post提交表单

    function post(URL, PARAMS) {            var temp = document.createElement("form");         ...

  7. php 提交表单

    滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园   首页   博问   闪存     联系   订阅  管理 随笔-58  评论-2017  文章-5  trackba ...

  8. 搭建简单Django服务并通过HttpRequester实现GET/POST http请求提交表单

    调试Django框架写的服务时,需要模拟客户端发送POST请求,然而浏览器只能模拟简单的GET请求(将参数写在url内),网上搜索得到了HttpRequester这一firefox插件,完美的实现了模 ...

  9. .Net模拟提交表单

    2016-09-0210:49:20 以中邮速递API为服务接口,由于提交方式为表单提交,我要获取返回值来处理其他业务,所以一开始尝试采用Js后台获取返回值,但是涉及到跨域请求限制问题,那边服务端接口 ...

随机推荐

  1. [Q]关于无法进入主界面问题解答

    打图精灵适用于AutoCAD2007或更高版,低于2007版无法使用. 若在安装打图精灵前AutoCAD已经打开,则需要将AutoCAD重新打开,然后使用“QPlot”命令. 若重新打开仍然调不出界面 ...

  2. Dreamweaver层使用八定律

    当然,这些并非真正的定律,而只是一些有益的忠告,使你免陷于使用层时可能的困顿中.原来有九条定律的,我们精简掉一条,还有下面的八条: 1. 如果你要嵌套层,决不要使用多重父层,应共享一个共同的单一父层. ...

  3. BFS,DFS伪代码

    //bfs #define queue_init (head=tail=0) #define queue_is_empty (head==tail) #define en_queue(x) (queu ...

  4. python下载时报错 Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time

    def downloadXml(isExists,filedir,filename): if not isExists: os.mkdir(filedir) local = os.path.join( ...

  5. sql优化方式-转载

    我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软件生命周期的不同阶段来 ...

  6. Yii2 基于RESTful api 坑 访问会把控制器名称变为复数

    'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'enableStrict ...

  7. Android 使用URLConnection来post数据

    /** * @param postUrl * 需要post的地址 * @param map * 存储数据的map * @param handler * 处理message的handler */ pub ...

  8. [code3119]高精度练习之大整数开根

    试题描述  给出一个正整数n,求n开根号后的整数部分的值.n的位数不超过1000位. 输入 读入一个不超过1000位的正整数n. 输出 输出所求答案 输入示例 17   输出示例 4 高精度开根:需要 ...

  9. selenium中的webdriver定位元素失败的常见原因

    自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...

  10. 安装node-sass

    SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass