curl 构造 模拟 post请求
2012-07-05 17:16
267 查看
test1.php
test2.php
// 接收json 数据的方式
CURLOPT_POSTFIELDS全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data。
$url = "http://localhost/uctest2.php"; $data = array ( "key1" => "value1", "key2" => "value2", "key3" => "value3" ); $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);// data是数组格式 $output = curl_exec($ch); if ($output === false) { echo 'Curl error: ' . curl_error($ch); } else { $info = curl_getinfo($ch); echo 'Took ' . $info['total_time'] . ';seconds to send a request to ' . $info['url']; echo '操作完成没有任何错误'; } curl_close($ch); var_dump($output); exit;
$url = "http://localhost/uctest2.php"; $post_data = array ( "key1" => "value1", "key2" => "value2", "key3" => "value3" ); $data = trim(json_encode($post_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);// data 是json格式 $output = curl_exec($ch); if ($output === false) { echo 'Curl error: ' . curl_error($ch); } else { $info = curl_getinfo($ch); echo 'Took ' . $info['total_time'] . ';seconds to send a request to ' . $info['url']; echo '操作完成没有任何错误'; } curl_close($ch); var_dump($output); exit;
$url = "http://localhost/uctest2.php"; $data = "key1=value1&key2=value2&key3=value3"; $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, $url . $data);// data 是字符串 $output = curl_exec($ch); if ($output === false) { echo 'Curl error: ' . curl_error($ch); } else { $info = curl_getinfo($ch); echo 'Took ' . $info['total_time'] . ';seconds to send a request to ' . $info['url']; echo '操作完成没有任何错误'; } curl_close($ch); var_dump($output); exit;
test2.php
<?php var_dump($_POST); // data 是数组和字符串格式 ?>
// 接收json 数据的方式
<?php // 模拟非post、get以外的传输方式 $myFile = "result.log"; $fh = fopen($myFile, 'a') or die("can't open file"); $stringData = date("Y-m-d H:i:s")."\n"; fwrite($fh, $stringData); $stringData = file_get_contents('php://input'); fwrite($fh, $stringData); fclose($fh); ?>
CURLOPT_POSTFIELDS全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data。
相关文章推荐
- curl模拟post请求
- CURL模拟post请求
- curl perl python 模拟post请求
- curl 模拟发起百度地图API post请求
- curl模拟post请求
- 使用curl命令行模拟post请求
- cURL模拟POST请求
- php使用curl模拟GET和POST请求
- curl模拟Http 的get 或 post请求
- 深入理解curl类,可用于模拟get,post和curl下载
- PHP读取CURL模拟登录时生成Cookie文件的方法
- curl 模拟yeelink数据提交和查询
- php的curl函数模拟post、get数据提交,速度非常慢的处理办法
- curl 的post请求模拟登陆
- 关于curl java 模拟http请求
- curl模拟post请求提交
- curl模拟post请求提交
- curl---snoopy 获取远端的文件&curl 模拟表单的登陆
- CURL模拟访问网页(转)
- curl模拟请求常用参数