|
@@ -0,0 +1,97 @@
|
|
|
+<?php
|
|
|
+namespace tencentim;
|
|
|
+
|
|
|
+class Tencentim
|
|
|
+{
|
|
|
+ private $api_url;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 构造函数
|
|
|
+ */
|
|
|
+ public function __construct($api_url)
|
|
|
+ {
|
|
|
+ $this->api_url = $api_url;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * $params 请求参数
|
|
|
+ */
|
|
|
+ function toSend($receiptdata) {
|
|
|
+ // 构造请求参数
|
|
|
+ $params = $receiptdata;
|
|
|
+ // random int
|
|
|
+ $params = json_encode($params);
|
|
|
+ $result = $this->http_post_json($this->api_url,$params);
|
|
|
+ if ($result === FALSE) {
|
|
|
+ return array("code" => 500, "msg" => "file_get_contents failed.");
|
|
|
+ } else {
|
|
|
+ return json_decode($result, true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param $url
|
|
|
+ * @param $jsonStr
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ function http_post_json_old($url, $jsonStr)
|
|
|
+ {
|
|
|
+ $ch = curl_init();
|
|
|
+ curl_setopt($ch, CURLOPT_POST, 1);
|
|
|
+ curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
|
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
|
+ 'Content-Type: application/json; charset=utf-8',
|
|
|
+ 'Content-Length: ' . strlen($jsonStr)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $response = curl_exec($ch);
|
|
|
+ $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
+ curl_close($ch);
|
|
|
+ return array($httpCode, $response);
|
|
|
+ }
|
|
|
+
|
|
|
+ function http_post_json($url, $data, $header = '', $timeOut = 0)
|
|
|
+ {
|
|
|
+ //初始化curl
|
|
|
+ $ch = curl_init();
|
|
|
+ //参数设置
|
|
|
+ curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
|
|
|
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
|
|
|
+ curl_setopt($ch, CURLOPT_TIMEOUT, $timeOut);
|
|
|
+ curl_setopt($ch, CURLOPT_HEADER, 0);
|
|
|
+ curl_setopt($ch, CURLOPT_POST, 1);
|
|
|
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
|
+ if($header != '') {
|
|
|
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
|
|
|
+ }
|
|
|
+ $result = curl_exec($ch);
|
|
|
+
|
|
|
+ //连接失败
|
|
|
+ if($result == FALSE) {
|
|
|
+ //\think\Log::record('[ CURL ] ERROR ' . curl_error($ch)."\n".var_export(debug_backtrace(), true)."\n", 'error');
|
|
|
+ }
|
|
|
+ curl_close($ch);
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * $params 请求参数
|
|
|
+ */
|
|
|
+ function messageCheck($params) {
|
|
|
+
|
|
|
+ $result = $this->http_post_json($this->api_url,$params);
|
|
|
+ if ($result === FALSE) {
|
|
|
+ return array("code" => 500, "msg" => "file_get_contents failed.");
|
|
|
+ } else {
|
|
|
+ return json_decode($result[1], true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|