• 欢迎访问magento4you博客,我们提供magento建站、技术咨询、IT运维、支持培训、二次开发服务及模板定制,联系QQ:283475615
  • Magento入门教程 二次开发 模板定制 联系QQ:283475615
  • magento运营 SEO SEM 数字营销 广告竞价 联系QQ:283475615
  • 如果您觉得本站对你有帮助,那么赶紧使用Ctrl+D 收藏吧!

PHP CURL 模拟POST请求 提交数据或上传文件

Magento开发 magento4you 6年前 (2015-05-21) 2519次浏览 0个评论

1.http://www.a.com/a.php

发送POST请求

function execUpload(){

$file = ‘/doucment/Readme.txt’;
$ch = curl_init();
$post_data = array(
‘loginfield’ => ‘username’,
‘username’ => ‘ybb’,
‘password’ => ‘123456’,
‘file’ => ‘@d:\usr\www\translate\document\Readme.txt’
);
curl_setopt($ch, CURLOPT_HEADER, false);
//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
curl_setopt($ch, CURLOPT_URL, ‘http://www.b.com/handleUpload.php’);
$info= curl_exec($ch);
curl_close($ch);

print_r($info);
}

2.http://www.b.com/handleUpload.php

function handleUpload(){
print_r($_POST);
echo ‘===file upload info:’;
print_r($_FILES);
}

);

$json_data = postData($url, $data);
$array = json_decode($json_data,true);
echo ‘

';print_r($array);

function postData($url, $data)
{
$ch = curl_init();
$timeout = 300;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, “http://www.jb51.net/”); //构造来路
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$handles = curl_exec($ch);
curl_close($ch);
return $handles;
}
?>

PHP下使用curl方式post数据至api接口的方法,大部分的API的HTTP请求方式都为GET,所以不管用AJAX和PHP二次处理都能拿到返回的数据,但是一些API的HTTP请求方式是POST,那么我们就需要使用到curl了


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP CURL 模拟POST请求 提交数据或上传文件
喜欢 (0)
发表我的评论
取消评论

*

code

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址