php中利用curl进行post请求示例

2019年8月24日09:24:43 评论 18

工作中需要使用curl的POST请求来向第三方服务器获取数据, 下面是php版本的实现代码,以作备忘.

 "find_wonder");

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
    curl_setopt($ch, CURLOPT_ENCODING, ""); //必须解压缩防止乱码
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/535.12");
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);

    $output = curl_exec($ch);
    curl_close($ch);

    print_r($output);
?>

这里需要注意的地方是, hao.qq.com返回的数据是gzip和chunk发送的, 必须启用curl的自动解压缩功能来得到解压后的数据, 否则会导致乱码.

将上面的源码文件记为curl_post.php, 在命令行执行

php curl_post.php

下面是获取的结果示例

php中利用curl进行post请求示例

上面的实例是,向hao.qq.com发送POST请求来获取指定的代码片段, 它是div和script代码片段的混合体, 会生成类似如下的页面效果

php中利用curl进行post请求示例

以上就介绍了php中利用curl进行post请求示例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

weinxin
欢迎加入中国站长博客之家
本站的所有资源都会上传分享到博客之家,希望大家互相学习交流进步。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: