97色精品视频在线观看,亚洲中文字幕页面,亚洲国产制服丝袜清纯,久久九九有精品国产23

    <big id="zm1ly"><dl id="zm1ly"></dl></big>

        1. 幫助中心 > API

          答卷提交后跳轉(zhuǎn)并獲取答卷數(shù)據(jù)

          一、接口功能應(yīng)用場景

          在問卷設(shè)置》跳轉(zhuǎn)設(shè)置》跳轉(zhuǎn)到指定頁面設(shè)置跳轉(zhuǎn)目標(biāo)的URL,并且開啟“POST答卷數(shù)據(jù)到該地址”的功能。就可以實(shí)現(xiàn):填寫者在提交答卷后,跳轉(zhuǎn)到這個(gè)指定的URL頁面,并且系統(tǒng)會同步將該填寫者作答的數(shù)據(jù)POST到該URL頁面。

          應(yīng)用場景:在填寫者提交答卷后,可以跳轉(zhuǎn)到用戶自己的系統(tǒng)頁面,并且作答信息(通過接口獲取到的)作為頁面元素顯示在自己系統(tǒng)頁面。如:考試問卷如果不想使用問卷星提供的標(biāo)準(zhǔn)成績單,可以使用該功能,自己寫一個(gè)成績單頁面作為跳轉(zhuǎn)頁面。

          二、頁面目標(biāo)地址

          使用頁面目標(biāo)地址需要注意以下問題:

          1、該地址需保證外網(wǎng)可訪問的狀態(tài);

          2、該地址需要承載填寫者提交答卷后的跳轉(zhuǎn)落地頁,所以需保證合適的頁面內(nèi)容;

          3、數(shù)據(jù)將以表單的方式POST到該地址,需要增加開發(fā)代碼以讀取form表單數(shù)據(jù)的content內(nèi)容。

          三、POST答卷數(shù)據(jù)

          POST答卷數(shù)據(jù)會將每個(gè)填寫者作答的數(shù)據(jù),在其點(diǎn)擊“提交”時(shí)推送到“頁面目標(biāo)地址”。每個(gè)填寫者點(diǎn)擊提交,就會執(zhí)行一次推送操作;

          1、推送機(jī)制

          1) 用戶在問卷設(shè)置界面設(shè)置跳轉(zhuǎn)到指定頁面,并勾選“POST答卷數(shù)據(jù)到該地址”;


          2) 如果需要獲取問卷內(nèi)容,可同時(shí)勾選“POST問卷內(nèi)容到該地址”。如果未顯示此選項(xiàng),請聯(lián)系客服顧問開通權(quán)限;

          3) POST答卷數(shù)據(jù)到跳轉(zhuǎn)的指定頁面的方式,與數(shù)據(jù)推送API方式只能二選一,推薦使用POST答卷數(shù)據(jù)到跳轉(zhuǎn)的指定頁面;這種方式的實(shí)時(shí)效性、穩(wěn)定性更強(qiáng);

          用戶在提交完答卷后,問卷星將直接跳轉(zhuǎn)到指定的頁面并將答卷數(shù)據(jù)放在POST消息體中;

          跳轉(zhuǎn)到用戶指定頁面后,用戶指定頁面可以同時(shí)讀取到POST的內(nèi)容;

          2、數(shù)據(jù)加密

          考慮到答卷數(shù)據(jù)傳輸?shù)陌踩?,推送的答卷?shù)據(jù)進(jìn)行了AES加密,加密密鑰可以在設(shè)置界面獲取到;

          解密方法如下:

          1)讀取推送的BASE64數(shù)據(jù)為byte[] encryptedData;

          2)取AES加解密密鑰作為AES解密的KEY

          3) 取byte[] encryptedData的前16位做為IV;

          4)取第16位后的字節(jié)數(shù)組做為待解密內(nèi)容;

          5)解密模式使用CBC(密碼塊鏈模式);

          6)填充模式使用PKCS #7(填充字符串由一個(gè)字節(jié)序列組成,每個(gè)字節(jié)填充該字節(jié)序列的長度);

          7)使用配置好的實(shí)例化AES對象執(zhí)行解密;

          8)使用UTF-8的方式,讀取二進(jìn)制數(shù)組得到原始數(shù)據(jù)

          示例代碼(C#)

          1. //1)讀取推送的BASE64數(shù)據(jù)為byte[] encryptedData;
          2. byte[] encryptedData = Convert.FromBase64String(encrypted);
          3. if (encryptedData == null || encryptedData.Length < 17)
          4. return null;
          5. //2)取AES加解密密鑰作為AES解密的KEY;
          6. byte[] key = Encoding.UTF8.GetBytes(aesKey);
          7. //3) 取byte[] encryptedData的前16位做為IV;
          8. byte[] iv = encryptedData.Take(16).ToArray();
          9. //4)取第16位后的字節(jié)數(shù)組做為待解密內(nèi)容;
          10. encryptedData = encryptedData.Skip(16).ToArray();
          11. using (var aes = new RijndaelManaged())
          12. {
          13. //5)解密模式使用CBC(密碼塊鏈模式);
          14. aes.Mode = CipherMode.CBC;
          15. //6)填充模式使用PKCS #7(填充字符串由一個(gè)字節(jié)序列組成,每個(gè)字節(jié)填充該字節(jié)序列的長度);
          16. aes.Padding = PaddingMode.PKCS7;
          17. aes.Key = key;
          18. aes.IV = iv;
          19. var cryptoTransform = aes.CreateDecryptor();
          20. //7)使用配置好的實(shí)例化AES對象執(zhí)行解密
          21. byte[] r = cryptoTransform.TransformFinalBlock(encryptedData, 0, encryptedData.Length);
          22. //8)使用UTF-8的方式,讀取二進(jìn)制數(shù)組得到原始數(shù)據(jù)
          23. return Encoding.UTF8.GetString(r);
          24. }

          3、推送內(nèi)容及格式

          1、推送內(nèi)容存儲在表單(application/x-www-form-urlencoded)的content字段中;
          2、content字段的值為經(jīng)過aes加密后的base64字符串,解密后的內(nèi)容包括答卷數(shù)據(jù)以及問卷數(shù)據(jù);

          3、答卷數(shù)據(jù):推送內(nèi)容及格式與數(shù)據(jù)推送API相同,參見:http://www.jzkongtiao.cn/help/help.aspx?helpid=407&h=1

          4、問卷數(shù)據(jù):推送內(nèi)容及格式與問卷開放API[1000001]接口相同,詳細(xì)請咨詢客服顧問獲取文檔;

          DEMO

          1、demo地址:

          http://www.jzkongtiao.cn/demo/activityredirect.aspx?aes=822861f9c5114dc2bda214cd9567d0dc注:紅色部分為AES解密密鑰

          2、示例代碼(C#):

          1. public partial class demo_activityredirect : System.Web.UI.Page
          2. {
          3. string aeskey = "";
          4. string content = string.Empty;
          5. protected void Page_Load(object sender, EventArgs e)
          6. {
          7. content = Request.Form["content"];
          8. aeskey = Request.QueryString["aes"];
          9. Response.Write("推送的加密內(nèi)容[content]:" + Receive());
          10. Response.End();
          11. }
          12. //接收推送消息
          13. protected string Receive()
          14. {
          15. try
          16. {
          17. if (!string.IsNullOrEmpty(content) && !string.IsNullOrEmpty(aeskey))
          18. {
          19. content = Wjx.Common.Encrypt.Aes.Decrypt(content, aeskey);
          20. return content;
          21. }
          22. return "讀取內(nèi)容為空";
          23. }
          24. catch (Exception e)
          25. {
          26. return "出錯(cuò)啦!\r\n" + e.Message;
          27. }
          28. }
          29. }
          非常感謝您的耐心閱讀,請?jiān)谙路教峁┠鷮Ρ酒獛椭姆答?,以便我們持續(xù)改進(jìn)本文。
          已解決 未解決
          長沙冉星信息科技有限公司 版權(quán)所有    ICP證:湘B2-20220508    湘ICP備17005436號-1    湘公網(wǎng)安備 43019002000245號
          網(wǎng)站數(shù)據(jù)來源于問卷星官方數(shù)據(jù)庫    服務(wù)協(xié)議    隱私條款    舉報(bào)