php curl post提交数据
Posted wth9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php curl post提交数据相关的知识,希望对你有一定的参考价值。
我也是第一次用 ,如果觉得写的不好,可以指出来(大家一起学习)!
需要将数组数据提交到http://wx.com/index.php/index/Test/index2
我这边方便测试直接添加到test数据库中,没刷新一次数据库新增一条数据(post提交数组成功)。
<?php
namespace appindexcontroller;
use thinkConfig;
use thinkDb;
use thinkController;
use thinkRequest;
class Test extends controller
{
public function index()
{
$url = "http://wx.com/index.php/index/Test/index2";
$data = [‘id‘=>1,‘info‘=>‘test‘,‘test‘=>‘123456‘];
$res = $this->postResult($url, $data);
}
/**
* @$res curl提交数据成功,数据库新增数据
* @return [type] [description]
*/
public function index2()
{
$request = Request::instance();
$post = $request->param();
$res = [
// ‘id‘ =>$post[‘id‘],
‘name‘ =>$post[‘info‘],
‘test‘ =>$post[‘test‘],
];
$info = Db::name(‘test‘)->insert($res);
}
/**
* [postResult description]
* @param [type] string $url post的网址
* @param [type] array $data post的数据
* @return [type] resource 页面
*/
public function postResult($url, $data)
{
//初使化init方法
$ch = curl_init();
//指定URL
curl_setopt($ch, CURLOPT_URL, $url);
//设定请求后返回结果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//声明使用POST方式来进行发送
curl_setopt($ch, CURLOPT_POST, 1);
//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//忽略证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
//忽略header头信息
curl_setopt($ch, CURLOPT_HEADER, 0);
//设置超时时间
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//发送请求
$output = curl_exec($ch);
//关闭curl
curl_close($ch);
//返回数据
return $output;
}
}
以上是关于php curl post提交数据的主要内容,如果未能解决你的问题,请参考以下文章
在php中分别使用curl的post提交数据的方法和get获取网页数据的方法
php中 curl模拟post发送json并接收json(转)
PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)