博主信息
博文 11
粉丝 0
评论 1
访问量 17001
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP的3种请求方式 GET POST 伪异步POST
Alfred的学习笔记
原创
1264人浏览过
  1. /*
  2. * 发起POST网络提交
  3. * @params string $url : 网络地址
  4. * @params json $data : 发送的json格式数据
  5. */
  6. static public function https_post($url, $data) {
  7. $curl = curl_init();
  8. curl_setopt($curl, CURLOPT_URL, $url);
  9. if (!empty($data)) {
  10. curl_setopt($curl, CURLOPT_POST, 1);
  11. curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  12. }
  13. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  14. $output = curl_exec($curl);
  15. curl_close($curl);
  16. return $output;
  17. }
  18. /*
  19. * 发起GET网络提交
  20. * @params string $url : 网络地址
  21. */
  22. static public function https_get($url) {
  23. $curl = curl_init();
  24. curl_setopt($curl, CURLOPT_URL, $url);
  25. curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
  26. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  27. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
  28. curl_setopt($curl, CURLOPT_HEADER, FALSE);
  29. curl_setopt($curl, CURLOPT_TIMEOUT, 60);
  30. if (curl_errno($curl)) {
  31. return 'Errno' . curl_error($curl);
  32. } else {
  33. $result = curl_exec($curl);
  34. }
  35. curl_close($curl);
  36. return $result;
  37. }
  38. /**
  39. * 异步post请求
  40. * @param type $host 域名 www.baidu.com
  41. * @param type $url 请求方法链接:/party.php/api/####
  42. * @param type $param 参数数组
  43. */
  44. static public function http_post_asynchronous_request($host = '', $url = '', $param = array()) {
  45. $host = isset($host) ? $host : 'www.baidu.com';
  46. $query = isset($param) ? http_build_query($param) : '';
  47. $port = 80;
  48. $errno = 0;
  49. $errstr = '';
  50. $timeout = 10;
  51. $fp = fsockopen($host, $port, $errno, $errstr, $timeout);
  52. $out = "POST " . $url . " HTTP/1.1\r\n";
  53. $out .= "host:" . $host . "\r\n";
  54. $out .= "content-length:" . strlen($query) . "\r\n";
  55. $out .= "content-type:application/x-www-form-urlencoded\r\n";
  56. $out .= "connection:close\r\n";
  57. $out .= $query;
  58. fputs($fp, $out);
  59. usleep(20000); //避免nginx服务器链接断开无法 报499 链接失效
  60. fclose($fp);
  61. }
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学