1. <?php
  2. function request($url, $params = [], $requestMethod = 'GET', $jsonDecode = true, $headers = [])
  3. {
  4. $ci = curl_init();
  5. curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
  6. curl_setopt($ci, CURLOPT_USERAGENT, '1001 Magazine v1');
  7. curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 10);
  8. curl_setopt($ci, CURLOPT_TIMEOUT, 10);
  9. curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
  10. curl_setopt($ci, CURLOPT_ENCODING, "");
  11. curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
  12. curl_setopt($ci, CURLOPT_HEADER, FALSE);
  13.  
  14. $requestMethod = strtoupper($requestMethod);
  15. switch ($requestMethod) {
  16. case 'POST':
  17. curl_setopt($ci, CURLOPT_POST, TRUE);
  18. if ($params) {
  19. curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
  20. } else {
  21. curl_setopt($ci, CURLOPT_POSTFIELDS, ''); // Don't know why: if not set, 413 Request Entity Too Large
  22. }
  23. break;
  24. case 'DELETE':
  25. curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
  26. if ($params) {
  27. $url = $url."?".$params;
  28. }
  29. break;
  30. case 'GET':
  31. if ($params) {
  32. $sep = false === strpos($url, '?') ? '?' : '&';
  33. $url .= $sep . http_build_query($params);
  34. }
  35. break;
  36. case 'PUT':
  37. if ($params) {
  38. curl_setopt($ci, CURLOPT_CUSTOMREQUEST, "PUT");
  39. curl_setopt($ci, CURLOPT_POSTFIELDS, $params);
  40. }
  41. break;
  42. }
  43. //$headers[] = "APIWWW: " . $_SERVER['REMOTE_ADDR'];
  44. curl_setopt($ci, CURLOPT_URL, $url);
  45. curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
  46. curl_setopt($ci, CURLINFO_HEADER_OUT, TRUE);
  47.  
  48. $response = curl_exec($ci);
  49. $httpCode = curl_getinfo($ci, CURLINFO_HTTP_CODE);
  50. $return = [
  51. 'httpcode' => $httpCode,
  52. 'data' => $httpCode >= 300 ? $response : ($jsonDecode ? json_decode($response, true) : $response),
  53. 'response' => $response
  54. ];
  55. //$httpInfo = curl_getinfo($ci);
  56. curl_close($ci);
  57. return $return;
  58. }
  59.  
  60. $res = request('http://www.che168.com/Handler/ScriptCarList_V1.ashx?needData=1',[],'GET',false);
  61.  
  62. ?>

CURL访问举例的更多相关文章

  1. 在linux下使用curl访问 多参数url GET参数问题

    一.在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本.每一小时执行myscript.php如下: # ...

  2. centos7内核升级及curl访问https证书过期处理

    centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...

  3. linux下通过curl访问web服务器

    在通过xshell或者其他远程连接工具连接linux服务器,没安装浏览器,却要测试web服务的请求: 可以使用curl 访问web服务器 例如返回百度的主页内容 #curl www.baidu.com ...

  4. docker 部署net core程序 curl访问地址 提示 Connection reset by peer

    最近研究netcore 部署到docker上.在参考https://www.cnblogs.com/subendong/p/8992285.html教程之后,部署成功.但是curl访问对应的主机端口地 ...

  5. cURL 学习笔记与总结(5)用 cURL 访问 HTTPS 资源

    <?php $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "https://ajax.aspnet ...

  6. PHP CURL访问HTTPS使用详解

    三年前写过一篇<一个简陋的支持HTTPS的PHP CURL封装函数>,当时只是知其然不知其所以然,今天来详细梳理一下. https服务器post数据 代码如下 复制代码 function ...

  7. 用curl访问HTTPS站点并登录

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  8. CURL访问url显示响应时间

    curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} http://www.baidu.com 时间指 ...

  9. [PHP] curl访问https与CA证书问题

    CA证书,用来在调用HTTPS资源的时候,验证对方网站是否是CA颁布的证书,而不是自己随便生成的 curl命令1.需要下载CA证书 文件地址是 http://curl.haxx.se/ca/cacer ...

随机推荐

  1. 第7条:用列表推导式来取代map和filter

    核心知识点: 1.列表推导式要比内置的map和filter函数清晰,因为它无需额外编写lambda表达式. 2.列表推导式可以跳过输入列表中的某些元素,如果改用map来做,那就必须辅以filter方能 ...

  2. 小程序真机GET请求出现406错误

    问题:微信开发模拟器请求成功,获得数据,但是在真机上出现406请求错误,无法获得请求结果 原因:真机微信小程序的请求头与模拟器不同 怎么发现的:在请求头强制添加Accept即可解决 修复:在请求Hea ...

  3. Elasticsearch使用记录

    Elasticsearch使用记录 Elasticsearch的搭建方法 1.RPM方式搭建 首先去官网[https://www.elastic.co/downloads/elasticsearch# ...

  4. es5严格模式简谈

    一.用法: 在全局或局部开头加上“use strict”即可 就是一行字符串,不会对不兼容严格模式的浏览器产生影响.二.不再兼容es3的一些不规则语法.使用全新的es5规范.三.两种用法: 全局严格模 ...

  5. python有哪些关键字?让他自己“吐”出来!

    通过调用库来输出!for循环控制! 源代码: import keyword c = 0 for i in keyword.kwlist: print(i) c += 1 代码截图: 哈哈,关键字: F ...

  6. 光流法跟踪fast角点思路

    光流法需要include<opencv2/video/tracking.hpp>,用到列表,所以要include<list><vector>1.读取文件定义图像存储 ...

  7. MSSQL遇到以零作除数错误的处理方法

    在sql server中做除法处理的时候,我们经常需要处理除数为零的情况,因为如果遇到这种情况的时候,sqlserver会抛出遇到以零作除数错误的异常,我们总不希望把这个异常显示给用户吧. 做个会报这 ...

  8. Sqoop- sqoop将mysql数据表导入到hive报错

    sqoop将mysql数据表导入到hive报错 [root@ip---- lib]# sqoop import --connect jdbc:mysql://54.223.175.12:3308/gx ...

  9. $().bind()的返回值

    var eleMenus = $("#choMenu a").bind("click", function (event){}); 此时eleMeuns的值是$ ...

  10. java:Maven构建项目速度太慢的解决办法,以及报错Retrieving archetypes:' has encountered a problem

    如果报错信息如下: Retrieving archetypes:' has encountered a problemAn internal error occurred during:"R ...