看来楼主的截图,写的纯粹的对curl的运用,个人写个简化版的!!
$post_val是post提交所需的数据,如果为空,那就是get获取数据,也就是说$curl要自带参数,这个要看你接口页面的程序所定了!!
例子:
①php
$b = $_GET['k'];
var_dump($get_value);//这边就是你想要的代码..随便你怎么处理了!!
//这个是curl的精简版...不用那么多代码
function curl_file_get_contents($curl,$post_val="")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $curl);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
if($post_val)
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_val);
}
$r = curl_exec($ch);
curl_close($ch);
return $r;
$get_key = $_POST['word']; //这边就指明了只用能post方式获取数据
..................(这边就是通过获取的$get_key来获取数据,并赋值与$value)......
return $value; //这边把数据抛给1.php(谁调用接口的就抛给谁)
这样写的好处是,假如获取$value的代码很长,这样写可以减少代码量!!不在同一个服务器或者框架下面的程序也可以调用....(同一个框架下的代码可以用include引入进来!!)
先写到着吧!!!还有不懂的可以自己百度下或者追问..我看到了会继续回答的!!
方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type:
application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据
说明:
允许读取
POST
的
原始数据
.
和
$HTTP_RAW_POST_DATA
比起来,它给内存带来的压力较小,并且不需要任何特殊的
php.ini
设置.
php://input
不能用于
enctype="multipart/form-data".
解释:
对于未指定
Content-Type
的POST数据,则可以使用file_get_contents("php://input");来获取原始数据.
事实上,用PHP接收POST的任何数据都可以使用本方法.而不用考虑Content-Type,包括
二进制文件
流也可以.
所以用方法二是最保险的方法
总是产生
变量包含有原始的
数据.
此变量仅在碰到未识别
MIME
类型的数据时产生.
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用
$GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如
text/xml
或者
soap
等等
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据.
$_POST或
$_REQUEST
存放的是
PHP以key=value的形式格式化以后的数据.
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时
必须显式示指明Content-Type:
application/x-www-form-urlencoded,POST的数据才会存放到
$GLOBALS['HTTP_RAW_POST_DATA']中
用PHP向服务器发送HTTP的POST请求,代码如下:
php
/**?
*?发送post请求?
*/?
function?send_post($url,?$post_data)?{?
$postdata?=?http_build_query($post_data);?
$options?=?array(?
'http'?=?array(?
'method'?=?'POST',?
'header'?=?'Content-type:application/x-www-form-urlencoded',?
'content'?=?$postdata,?
)?
);?
$context?=?stream_context_create($options);?
$result?=?file_get_contents($url,?false,?$context);???
return?$result;?
使用的时候直接调用上面定义的send_post方法:
$post_data?=?array(
'username'?=?'username',
'password'?=?'password'
);
send_post('网址',?$post_data);
//这是我写的封装类,也就是模拟POST提交
//$durl也就是URL地址,比如
//$timeout超时时间
//$data?为POST数组
//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..
更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$durl);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);
curl_setopt($ch,?CURLOPT_TIMEOUT,?$timeout);
curl_setopt($ch,?CURLOPT_USERAGENT,?_USERAGENT_);
curl_setopt($ch,?CURLOPT_REFERER,?_REFERER_);
curl_setopt($ch,?CURLOPT_POST,?1);?//设置为POST传输
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$data);?//添加post数据
$r?=?curl_exec($ch);
var_dump($ch);
if?($r?===?false)?{?//判断错误
echo?curl_error($ch);
$info?=?curl_getinfo($ch);?//能够在cURL执行后获取这一请求的有关信息
return?$r;
form表单demo:task.html
fieldset id="setFiled"
legend发布任务/legend
form action="registr.php" method="post" id="steForm"
label任务类型:/labelbr
input type="text" name="type"? id="taskType" placeholder="请选择任务类型"/br
input type="text" name="type"? id="taskType" placeholder="请选择任务类型"/br
input type="text" name="type"? id="taskType" placeholder="请选择任务类型"/br
label酬nbsp;nbsp;金:/labelbr
input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr
label截止时间:/labelbr
input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr
label详细描述:/labelbr
/form
扩展资料
php接收POST数据的三种方式
①.、$_POST 方式接受数据
$_POST 方式是由通过HTTP的POST方法传递过来的数据组成的数组,是一个自动全局变量.
注:只能接收Content-Type:application/x-www-form-urlencode提交的数据.也就是只能接收表单过来的数据.
如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,可以用$GLOBLES['HTTP_RAW_POST_DATA']来接收,$HTTP_RAW_POST_DATA变量包含有原始POST数据.此变量仅在碰到未识别的MIME数据时产生.
注:$HTTP_RAW_POST_DATA对于enctype="multipart/form-data"表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据.
如果访问原始POST数据,更好的方法是使用file_get_content("php://input");对于未指定Content-Type的POST数据,可以使用该方法读取POST原始数据,包括二进制流也可以和$HTTP_RAW_POST_DATA比起来.它带来的生存眼里更小,并且不需要任何特殊的php.ini设置.
注:php://input不能用于 enctype="multipart/form-data"
例如:$postStr = file_get_contents("php://input"); //获取POST数据
以上就是土嘎嘎小编为大家整理的phppost数据提交相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!