|
@@ -127,4 +127,66 @@ class PublicData
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * POST 请求
|
|
|
|
+ * @param string $url
|
|
|
|
+ * @param array $param
|
|
|
|
+ * @param boolean $post_file 是否文件上传
|
|
|
|
+ * @return string content
|
|
|
|
+ */
|
|
|
|
+ public static function http_post_zp($url, $data, $options = [])
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ // 初始化CURL会话
|
|
|
|
+ $ch = curl_init($url);
|
|
|
|
+ var_dump("参数:",$data);
|
|
|
|
+ // 设置CURL选项
|
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
|
|
|
|
+ curl_setopt($ch, CURLOPT_HEADER, false); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
|
|
|
|
+ curl_setopt($ch, CURLOPT_POST, true); // 发送一个常规的POST请求。
|
|
|
|
+ curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); // 要传递的POST数据,这里使用http_build_query将数组转换为URL编码的查询字符串。
|
|
|
|
+ $headers = [
|
|
|
|
+ 'Authorization: Bearer be1856920c54ac537b530d69bc2eda73.gOO2BMq9NXavzEMq',
|
|
|
|
+ 'Content-Type: application/json',
|
|
|
|
+// 'Custom-Header: customHeaderValue'
|
|
|
|
+ ];
|
|
|
|
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|
|
|
+ // 如果有额外的CURL选项,则合并它们
|
|
|
|
+ if (!empty($options)) {
|
|
|
|
+ curl_setopt_array($ch, $options);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 执行CURL会话并获取响应
|
|
|
|
+ $response = curl_exec($ch);
|
|
|
|
+ // 检查是否有CURL错误
|
|
|
|
+ if (curl_errno($ch)) {
|
|
|
|
+ $error_msg = curl_error($ch);
|
|
|
|
+ curl_close($ch);
|
|
|
|
+ throw new Exception("CURL Error: $error_msg");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取HTTP状态码
|
|
|
|
+ $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
|
+
|
|
|
|
+ // 关闭CURL会话
|
|
|
|
+ curl_close($ch);
|
|
|
|
+
|
|
|
|
+ // 返回一个包含响应和HTTP状态码的数组
|
|
|
|
+ $responseBody = $response;
|
|
|
|
+ $headerEnd = strpos($response, "\r\n\r\n");
|
|
|
|
+
|
|
|
|
+ if ($headerEnd !== false) {
|
|
|
|
+ // 去除响应头,只保留响应体
|
|
|
|
+ $responseBody = substr($response, $headerEnd + 4); // +4 是因为 "\r\n\r\n" 有4个字符
|
|
|
|
+// echo $responseBody; // 输出:This is the response body.
|
|
|
|
+ } else {
|
|
|
|
+ // 如果没有找到空行,可能响应格式不正确或没有响应头
|
|
|
|
+// echo "No headers found in response.";
|
|
|
|
+ }
|
|
|
|
+ return [
|
|
|
|
+ 'response' => $responseBody,
|
|
|
|
+ 'http_code' => $http_code
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|