普通用户
取请求头里面的内容 [复制链接]
3122178498 发表于 2026-02-02 47 1

想把OK网络操作_1里面的cook取出来,供OK网络操作_2使用,代码应该怎么写

变量 请求头1=创建 OK网络请求头()
请求头1=OK网络操作_1.取全局请求头()
编辑框_1.内容= 请求头1.取Json文本()

我这样写,软件闪退

官方技术组 2026-02-02

您好,您的需求核心思路为:

1.先使用ok1发送请求,并获取返回的cookie。

2.使用ok1返回的cookie交给ok2发送请求。

代码示例(V4.7.6):

'* ******************************************************************************
'* 版权说明:Copyright(C) All Rights Reserved VcnStudio
'* 程序版本:V1.0
'* 文件描述:两个okhttp操作共享cookie
'* 修改日志:
'* ******************************************************************************

' 定义两个ok网络操作对象
变量 ok网络操作1  OK网络操作
变量 ok网络操作2  OK网络操作

' 储存ok1请求返回的ck
变量 ok1CK  文本型

事件 窗口创建完毕()
    ' 创建上方定义的两个对象
    ok网络操作1 = 创建 OK网络操作()
    ok网络操作2 = 创建 OK网络操作()
    ' 设置两个对象的 ck 管理模式
    ok网络操作1.置Cookie管理模式(2)
    ok网络操作2.置Cookie管理模式(2)
    ' 初始化编辑框
    编辑框_1.提示文本 = "请点击按钮测试..."
    编辑框_1.单行输入 = 
结束 事件

事件 按钮_发送请求1.被单击(来源对象  视图)
    ok网络操作1.执行Get请求("ok1_get1","http://www.vcnstudio.com",,接收请求结果)
结束 事件

' 定义“接收请求结果”的匿名回调,说简单点就是:统一接收请求完毕回调的事件 ,比单个“事件”语句块更方便统一管理
定义 接收请求结果  OK网络操作.文本请求回调接口
    事件 请求成功(响应对象  OK网络请求响应)
        如果(响应对象 == )
            返回
        结束 如果
        变量 请求标记 = 到文本(响应对象.取请求标记())
        如果(请求标记 == "ok1_get1")
			' 返回的ck被放在响应头里面的,我们先打印出是否有ck,一般名称叫:Set-Cookie
            编辑框_1.内容 = "OK1_GET1响应头内容" + 换行符 + 响应对象.取响应头文本()
            ' 取出请求1返回的 ck
            ok1CK = 响应对象.取响应头文本值("Set-Cookie")
            ' 将ok1返回的ck,交给ok2请求
            变量 ok2请求头 = 创建 OK网络请求头()
            ok2请求头.添加属性("Cookie",ok1CK)
            ' 发送请求
            ok网络操作2.执行Get请求("ok2_get2","http://www.vcnstudio.com",ok2请求头,接收请求结果)
            
        否则 如果(请求标记 == "ok2_get2")
	    编辑框_1.追加文本行("ok2_get2 响应内容:" + 换行符 + 响应对象.取响应体())
            
        结束 如果
    结束 事件
    ' 当绑定该回调结果的请求失败时该事件会被触发
    事件 请求失败(响应对象  OK网络请求响应)
        变量 msg = "请求失败;" + 响应对象.取请求标记() + 换行符 + 响应对象.取响应体()
        编辑框_1.内容 = msg
    结束 事件
    ' 该事件为当使用 POST 访问并且上传文本的时候使用、GET访问用不到;留空即可;但是不能删除
    事件 上传进度被改变(请求进度对象  OK网络请求进度)
        
    结束 事件
结束 定义

事件 按钮_2.被单击(来源对象  视图)
    若(取空(ok1CK) == ) 弹出提示("请先发送请求1获取返回的ck再操作!"); 返回    
    ' 将ok1返回的ck,交给ok2请求
    变量 ok2请求头 = 创建 OK网络请求头()
    ok2请求头.添加属性("Cookie",ok1CK)
    ' 发送请求
    ok网络操作2.执行Get请求("ok2_get2","http://www.vcnstudio.com",ok2请求头,接收请求结果)
结束 事件

回复
 作者信息
3122178498
普通用户 云验证
专业开发指导服务

响应时间:5分钟

服务方式:官方1对1服务

工作时间:工作日 9:00 - 18:30

专业团队 · 开发指导 · 极速响应


官网 | 基础视频教程 | 在线文档 下载 VcnStudio IDE

© VcnStudio Inc All Rights Reserved

蜀ICP备17024229号