1.POST、GET参数组装


  • 利用compact、http_build_query函数
// post的数组体$a = 1;$b = 2;$c = $a + $b;$array = compact('a','b','c'); // 组合请求参数print_r($array);// get的url组装$paramsStr = http_build_query($array);print_r($paramsStr);
  • 打印结果

2.一个请求示例


使用guzzle

 ['User-Agent' => 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',],'connect_timeout' => 30,'timeout' => 30,];// 添加自定义请求头if (!empty($headers)) {$options['headers'] = array_merge($options['headers'], $headers);}// 跳过证书检查if (strtolower(mb_substr($url, 0, 8, "utf-8")) == "https://") {$options['verify'] = false; // 跳过证书检查}if ($isPost) {$options['form_params'] = $dataStr;$response = $client->post($url, $options);} else {// GET 请求$options['query'] = $dataStr;$response = $client->get($url, $options);}return $response->getBody()->getContents();} catch (GuzzleException $e) {error_log($e->getMessage().'URL: '. $url.'Data: '. json_encode($dataStr));// 处理异常throw $e;}}}// post$a = 1;$b = 2;$c = $a + $b;$params = compact('a','b','c'); // 组合请求参数$result = GuzzleHttpRequest::httpRequest(self::API_URL['idcard_query'], $params, 1);// get$paramsStr = http_build_query($params);$result = GuzzleHttpRequest::httpRequest(self::API_URL['idcard_query'], $params);