模拟post请求:<?php
// 建立连接
$curl = curl_init();
//设置
$url = 'localhost';
curl_setopt($curl, CURLOPT_URL, $url);
# 设置开启post请求
curl_setopt($curl, CURLOPT_POST, $url);
$post_data = array(
'user_name' => 'admin',
'user_pwd' => '123456'
);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//发送
var_dump(curl_exec($curl));
//关闭
curl_close($curl);
php响应post请求:
CURLOPT_RETURNTRANSFER:是将响应直接输出,还是以返回值的形式处理
以返回值的形式处理响应数据:curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
POST文件上传
Post数据使用文件地址,前使用@标志为文件而不是字符串$post_data = array('image' => '@c:/1.jpg');
处理会话COOKIE
CURLOPT_COOKIEFILE:是否发送cookie
CURLOPT_COOKIEJAR:指定存储服务器所设置的cookie变量存储位置curl_setopt($curl, CURLOPT_COOKIEFILE, true);
curl_setopt($curl, CURLOPT_HEADER, 'c:/cookie.txt');
处理响应头
CURLOPT_HEADER:是否获取响应头数据
获取响应头数据:curl_setopt($curl, CURLOPT_HEADER, true);
操作响应
操作响应头:
header()函数
json:header("Content-type: application/json");
(ie6:header("Content-type: text/json");)图片:header('Content-Type:image/jpeg');,header('Content-Type:image/png');等;编码:header("Content-type:text/html;Charset=utf-8");
操作响应主体
任何的输出,都是响应主体。(echo,print,var_dump,PHP标签之外的所有HTML代码)
控制浏览器缓存header('Expires: ' . gmdate('D, d M Y H:i:s', time()+5) . ' GMT');
Expires:有效期(GMT:格林威治时间)
gmdate() 将时间戳格式化为格林威治平时<?php
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+5) . ' GMT');
echo time(), "self";