方法有很多,其中有file_get_contents把数据裂派读到一个字符串肆绝贺中,还有一个是curl方式,两种方式有宏顷所不同,查一下就知道区别了
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站建设、蓬莱网络推广、微信小程序开发、蓬莱网络营销、蓬莱企业策划、蓬莱品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供蓬莱建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
http请求有get,post。
php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]。
1. file_get_contents();详情见:
2. curl发送请求。
3. fsocket发送。
下面说使用curl发送。
首先环境需要配置好curl组件。
在windows中让php支持curl比较简单:
在php.ini中将extension=php_curl.dll前面的分号答塌去掉清基圆,
有人说需要将php根目录的libeay32.dll和ssleay32.dll需要拷贝到系统目录下去。我实验不拷贝也可以。
在linux中,如果使用源码安装,需要在make 之前,./configure --with-curl=path,
其中,path是你的 libcurl库的位置,比如你安装libcurl库之后,
path可能就是/usr/local/,libcurl可锋掘以是静态库,也可以是动态库。
注意libcurl库configure的时候,可以将一些不需要的功能去掉,
比如ssl , ldap等。在php configure的时候,会去检查libcurl中某些功能是否被开启,进而去相应地调整生成的php。
首先要把数据转换成json格式,再通过curl方法调用接口并传参数
代码如下:
$keyword = urlencode($_POST['keyword']);
$parameters = json_encode(array('keyWord'=$keyword,'areaCode'='*'));
$post_data['appToken'] = "323ds7674354fds32fdsda60173";//随便写的
$post_data['parameters'] = 哪手$parameters;
$url = '';//随便写的
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//用post方法传送参数
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = 李哗嫌curl_exec($ch);
curl_close($ch);
之后芦闹就返回数据即可。
/**
* 公用方法 post
* @param $url 链接
* @param $data 数据
* @param $api api 执行操作参拦升茄数 add update del
* @return $result
*/
function sendHttpPost($url, $data = [], $api = 'list')
{
$url = C('URL_API') . $url;
$param = [
'ver' = C('API_VER'),
'api' = $api,
'date' = time(),
'DATA' = $data
];
$data = json_encode($param);
print_r($data);
简察 $ch = curl_init();
笑或 curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
curl_close($ch);
// var_dump($data);
return $result;
}