zengyicheng 1 rok pred
rodič
commit
df2ff2b691
1 zmenil súbory, kde vykonal 56 pridanie a 28 odobranie
  1. 56 28
      ssti.js

+ 56 - 28
ssti.js

@@ -54,51 +54,79 @@ router.route('/a').all((req, res, next) => {
 // })
 
 //测试接口
-router.post('/testApi', function(req, res, next) {
-    // 创建向后端服务器的请求
+router.get('/testApi', function(req, res, next) {
+
+    // 创建第三方服务器请求的选项对象
     const options = {
         hostname: 'cxcy.ssti.net.cn',
         path: "/sso/api",
-        method: 'GET' //, // 请求方法
-            //headers: req.headers
+        method: 'GET', // 请求方法
+        headers: req.headers
     };
 
-    // 发送HTTP请求
-    const backendReq = https.request(options, (res) => {
-        console.log(res)
-        let data = '';
-
-        // 接收响应数据
-        res.on('data', (chunk) => {
-            data += chunk;
-        });
+    // 发送第三方服务器请求
+    const proxyReq = https.request(options, (proxyRes) => {
+        // 将第三方服务器的响应头部信息转发给用户
+        res.writeHead(proxyRes.statusCode, proxyRes.headers);
 
-        // 响应结束时处理数据
-        res.on('end', () => {
-            console.log(data); // 输出获取到的数据
-        });
+        // 将第三方服务器的响应数据转发给用户
+        proxyRes.pipe(res);
     });
 
     // 处理请求错误
-    backendReq.on('error', (error) => {
+    proxyReq.on('error', (error) => {
         console.error(error);
+        res.statusCode = 500;
+        res.end('Internal Server Error');
     });
 
-    // 发送请求
-    backendReq.end();
+    // 将用户请求的数据转发给第三方服务器
+    req.pipe(proxyReq);
 
+    // // 创建向后端服务器的请求
+    // const options = {
+    //     hostname: 'cxcy.ssti.net.cn',
+    //     path: "/sso/api",
+    //     method: 'GET' //, // 请求方法
+    //         //headers: req.headers
+    // };
+
+    // // 发送HTTP请求
     // const backendReq = https.request(options, (res) => {
-    //     // 处理响应
-    //     res.on('data', (data) => {
-    //         console.log(data.toString());
+    //     console.log(res)
+    //     let data = '';
+
+    //     // 接收响应数据
+    //     res.on('data', (chunk) => {
+    //         data += chunk;
+    //     });
+
+    //     // 响应结束时处理数据
+    //     res.on('end', () => {
+    //         console.log(data); // 输出获取到的数据
     //     });
-    // });
+});
+
+// 处理请求错误
+backendReq.on('error', (error) => {
+    console.error(error);
+});
+
+// 发送请求
+backendReq.end();
+
+// const backendReq = https.request(options, (res) => {
+//     // 处理响应
+//     res.on('data', (data) => {
+//         console.log(data.toString());
+//     });
+// });
 
-    // backendReq.on('error', (error) => {
-    //     console.error(error);
-    // });
+// backendReq.on('error', (error) => {
+//     console.error(error);
+// });
 
-    // backendReq.end();
+// backendReq.end();
 })
 
 //消息与任务接口