php通过curl模拟功能总结
2015-12-11 11:49
621 查看
通过curl模拟post提交
php方式:
post_output.php
命令行方式:
curl -d "foo=bar" "http://localhost/post_output.php"
通过curl模拟上传文件
php方式:
upload_output.php
curl命令行方式:
curl -F "file=@d:/wamp/www/test.zip" http://localhost/upload_output.php
通过curl设置header头信息
在一个HTTP请求中覆盖掉默认的HTTP头或者添加一个新的自定义头部字段
例如:
增加一个username参数
curl -H username:test123 -v http://www.myyii.dev/test/posts.html
php接收header头信息
待完成。。。
php方式:
<?php $url = "http://localhost/post_output.php"; $post_data = array ( "foo" => "bar", "query" => "Nettuts", "action" => "Submit" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 我们在POST数据哦! curl_setopt($ch, CURLOPT_POST, 1); // 把post的变量加上 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $output = curl_exec($ch); curl_close($ch); var_dump($output); ?>
post_output.php
<?php print_r($_POST); ?>
命令行方式:
curl -d "foo=bar" "http://localhost/post_output.php"
通过curl模拟上传文件
php方式:
<?php $url = "http://localhost/upload_output.php"; $post_data = array ( "foo" => "bar", // 要上传的本地文件地址 "file" => "@d:/wamp/www/test.zip" ); $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, $post_data); $output = curl_exec($ch); curl_close($ch); echo $output;
upload_output.php
<?php if ($_FILES["file"]["error"] === 0){ $name = "upload/".time().$_FILES["file"]["name"]; if (file_exists($name)) { echo $name . " already exists. "; exit; }else{ move_uploaded_file($_FILES["file"]["tmp_name"],$name); echo "Stored in: " . $name; } }
curl命令行方式:
curl -F "file=@d:/wamp/www/test.zip" http://localhost/upload_output.php
通过curl设置header头信息
在一个HTTP请求中覆盖掉默认的HTTP头或者添加一个新的自定义头部字段
例如:
增加一个username参数
curl -H username:test123 -v http://www.myyii.dev/test/posts.html
php接收header头信息
<?php print_r($_SERVER); echo $_SERVER['HTTP_USERNAME']; ?>
待完成。。。
相关文章推荐
- php 自带过滤和转义函数
- PHP漏洞全解(三)-xss跨站脚本攻击
- PHP漏洞全解(二)-客户端脚本植入
- iOS程序猿如何快速掌握 PHP,化身"全栈攻城狮"?
- PHP DATE( )函数与系统时间差8小时解决办法
- php empty()和isset()
- IIS下安装Mantis所需环境的配置
- 搭建Vim为自定义的PHP开发工具的一些技巧
- ThinkPHP 项目分组配置
- 用PHP5开发多任务应用程序
- PHP编码规范
- TableLayoutPanel删除行
- zend framework 分页 Zend_Paginator 分页搜索条件
- 夺命雷公狗---PHP---玩转安卓1之数据传递
- 12.ftp的vsftpd服务安装
- 安装了wampserver后进入localhost/phpmyadmin/失败
- thinkphp调试技巧
- 前出塞:《PHP的魔术符号magic_quotes_gpc》
- thinkphp3.2 数据库 AND OR连缀使用
- PHP 错误日志