Переглянути джерело

初始化火币http接口,捕获coinexhttp解析http响应失败错误

JiahengHe 1 рік тому
батько
коміт
05c752e5dd
2 змінених файлів з 17 додано та 8 видалено
  1. 15 6
      exchanges/src/coinex_swap_rest.rs
  2. 2 2
      exchanges/src/huobi_swap_rest.rs

+ 15 - 6
exchanges/src/coinex_swap_rest.rs

@@ -550,15 +550,24 @@ impl CoinexSwapRest {
         match res {
             Ok(response) => {
                 let is_success = response.status().is_success(); // 先检查状态码
-                let text = response.text().await.unwrap();
-                let data_json: Value = serde_json::from_str(text.as_str()).unwrap();
-                return if is_success && data_json["code"].to_string() == "0"{
-                    self.on_success_data(data_json["data"].clone())
-                } else {
-                    self.on_error_data(&text, &url, &body)
+                let text_result = response.text().await;
+                match text_result {
+                    Ok(text) => {
+                        let data_json: Value = serde_json::from_str(text.as_str()).unwrap();
+                        return if is_success && data_json["code"].to_string() == "0"{
+                            self.on_success_data(data_json["data"].clone())
+                        } else {
+                            self.on_error_data(&text, &url, &body)
+                        }
+                    },
+                    Err(e) => {
+                        error!("{} 请求完成,解析响应内容失败 {}", url, e);
+                        self.on_error_data(&e.to_string(), &url, &body)
+                    }
                 }
             },
             Err(e) => {// 异常情况
+                error!("{} 请求失败,网络错误 {}", url, e);
                 self.on_error_data(&e.to_string(), &url, &body)
             }
         }

+ 2 - 2
exchanges/src/huobi_swap_rest.rs

@@ -67,8 +67,8 @@ impl HuobiSwapRest {
         let params = serde_json::json!({
          });
         let data = self.request("GET".to_string(),
-                                "/api/v4".to_string(),
-                                format!("/spot/time"),
+                                "/api/v1".to_string(),
+                                format!("/timestamp"),
                                 true,
                                 params.to_string(),
         ).await;