1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | <?php function request( $url , $params = [], $requestMethod = 'GET' , $jsonDecode = true, $headers = []) { $ci = curl_init(); curl_setopt( $ci , CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt( $ci , CURLOPT_USERAGENT, '1001 Magazine v1' ); curl_setopt( $ci , CURLOPT_CONNECTTIMEOUT, 10); curl_setopt( $ci , CURLOPT_TIMEOUT, 10); curl_setopt( $ci , CURLOPT_RETURNTRANSFER, TRUE); curl_setopt( $ci , CURLOPT_ENCODING, "" ); curl_setopt( $ci , CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt( $ci , CURLOPT_HEADER, FALSE); $requestMethod = strtoupper ( $requestMethod ); switch ( $requestMethod ) { case 'POST' : curl_setopt( $ci , CURLOPT_POST, TRUE); if ( $params ) { curl_setopt( $ci , CURLOPT_POSTFIELDS, $params ); } else { curl_setopt( $ci , CURLOPT_POSTFIELDS, '' ); // Don't know why: if not set, 413 Request Entity Too Large } break ; case 'DELETE' : curl_setopt( $ci , CURLOPT_CUSTOMREQUEST, 'DELETE' ); if ( $params ) { $url = $url . "?" . $params ; } break ; case 'GET' : if ( $params ) { $sep = false === strpos ( $url , '?' ) ? '?' : '&' ; $url .= $sep . http_build_query( $params ); } break ; case 'PUT' : if ( $params ) { curl_setopt( $ci , CURLOPT_CUSTOMREQUEST, "PUT" ); curl_setopt( $ci , CURLOPT_POSTFIELDS, $params ); } break ; } //$headers[] = "APIWWW: " . $_SERVER['REMOTE_ADDR']; curl_setopt( $ci , CURLOPT_URL, $url ); curl_setopt( $ci , CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ci , CURLINFO_HEADER_OUT, TRUE); $response = curl_exec( $ci ); $httpCode = curl_getinfo( $ci , CURLINFO_HTTP_CODE); $return = [ 'httpcode' => $httpCode , 'data' => $httpCode >= 300 ? $response : ( $jsonDecode ? json_decode( $response , true) : $response ), 'response' => $response ]; //$httpInfo = curl_getinfo($ci); curl_close( $ci ); return $return ; } $res = request( 'http://www.che168.com/Handler/ScriptCarList_V1.ashx?needData=1' ,[], 'GET' ,false); ?> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容