• 客户端打开浏览器post提交数据


    客户端请求url提交post数据的方式很多,

    例如HttpWebRequest,HttpClient, 或者第三方的RestSharp以及Flurl 等.

    使用也比较简单方便,资料一搜一大堆,不重点写了.

    这里主要记录一种使用客户端登录,并且点击触发单点登录到浏览器页面跳转的一种方式.

    客户端程序可以轻松启动电脑上的默认浏览器程序,也可以轻松使用浏览器Get请求一个URL地址,但是get请求只能通过QueryString传递可见参数(不论是否对字符进行加密,QueryString是可见的)

    而不能直接操作到第三方浏览器行为post数据提交,只能间接通过html+js操作.

    很多人用到的方法,是对客户端内嵌一个浏览器,然后进行编程控制.通常的嵌入有 WebBrowser、WebKitBrowser、CefSharp等.

    此类方式的具体步骤可以参考如下链接:

    https://blog.csdn.net/u011235865/article/details/106262780/

    嵌入浏览器的问题很明显,客户端体积增大比较多.

    在非必要嵌入的时候, 可以使用隐藏表单的方式,生成html进行跳转.

    把生成的html保存为一个Html临时文件.

    主要是前端代码,把url123456替换为实际url即可,其它参数自行修改.

    1. <html lang="en">
    2. <head>
    3. <meta charset="UTF-8">
    4. <title>Redirect with POSTtitle>
    5. <script>
    6. // 创建一个隐藏的表单字段
    7. function createHiddenField(name, value) {
    8. var field = document.createElement('input');
    9. field.type = 'hidden';
    10. field.name = name;
    11. field.value = value;
    12. return field;
    13. }
    14. // 页面加载后立即执行的代码
    15. window.onload = function () {
    16. let form = document.getElementById('form');
    17. setTimeout(function () {
    18. form.submit();
    19. },3)
    20. }
    21. script>
    22. head>
    23. <body>
    24. <form action="url123456" method="post" id="form" style="display: none;">
    25. <label for="noticeId">noticeId:label>
    26. <input type="text" id="noticeId" name="noticeId" value="noticeId123456"><br><br>
    27. <label for="prequaRecordId">prequaRecordId:label>
    28. <input type="text" id="prequaRecordId" name="prequaRecordId" value="prequaRecordId123456"><br><br>
    29. <label for="projectId">projectId:label>
    30. <input type="text" id="projectId" name="projectId" value="projectId123456"><br><br>
    31. <label for="packageId">packageId:label>
    32. <input type="text" id="packageId" name="packageId" value="packageId123456"><br><br>
    33. <label for="subjectToken">subjectToken:label>
    34. <input type="text" id="subjectToken" name="subjectToken"
    35. value="subjectToken123456"><br><br>
    36. form>
    37. body>
    38. html>

  • 相关阅读:
    小程序添加悬浮在线客服源码
    鹰潭高通量测序建设细节概述
    全局封装loading 加载样式 vue3
    基于人工智能(AI)的蛋白结构预测工具合集
    虹科干货 | 教您如何解析MODBUS中的浮点型数据
    requests 用法
    407. 接雨水 II
    03. C语言编写LED
    安防监控/视频存储/视频汇聚平台EasyCVR如何接入智能分析网关V4?
    Vue3+elementplus搭建通用管理系统实例七:通用表格实现上
  • 原文地址:https://blog.csdn.net/chenhui389/article/details/139435581