http访问.添加请求头 ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36")
http访问.添加请求头 ("Accept","application/json, text/plain, */*")
http访问.添加请求头 ("Content-Type","application/json;charset=UTF-8")
http访问.请求方式 = "POST"
http访问.超时 = 60
http访问.创建连接("https://pigeon.jinritemai.com/pcbackstage/conversa")
变量 结果 为 文本型 = http访问.发送POST请求("{\"keyword\":\"987654321\",\"user_search_type\":3,\"online_after_key\":\"\",\"offline_after_key\":\"\"}","utf-8")
调试输出(结果)
请问这个写法 怎么会报错 空指针
java.lang.NullPointerException: Attempt to invoke virtual method 'void java.net.HttpURLConnection.addRequestProperty(java.lang.String, java.lang.String)' on a null object reference (AndroidRuntime)
用 发送POST数据() 没有协议头可以带
用OK 他是在另外的里面返回 我想在这里直接返回数据
您的需求主要是异步顺序处理数据的场景,必须要等上一步的结果获取后,再执行后续需求,两种方案可以实现您的需求。
方案1:使用HTTP组件
在子线程中使用同步顺序执行代码获取数据,ID获取后,再请求其它内容。
变量 http访问 = 创建 HTTP()
' 设置属性参数值...
异步执行首
变量 json1 为 文本型 = http访问.发送POST请求("665","utf-8")
' 取出json1的ID
' 然后使用http创建新的要请求的连接,如果要设置参数也需要处理
' 如果不需要处理请求的上下文,这里也可以直接创建一个新的 HTTP 对象请求
变量 查询资料 为 文本型 = http访问或新http对象.发送POST请求("665","utf-8")
' 将资料和json1组合起来...
异步执行尾方案2:使用异步网络操作组件
在请求回调中,继续发送请求,请求的结果又会返回到回调中,通过请求标记判断是那个请求。
事件 按钮_测试.被单击(来源对象 为 视图)
变量 data = 创建 哈希表()
data.添加项目("uid","1")
data.添加项目("uname","zhangsan")
异步网络操作1.发送POST请求("查ID","获取ID的地址",data,"UTF-8",异步操作回调)
结束 事件
定义 异步操作回调 为 异步网络操作.请求完毕回调
事件 请求发送成功(标记 为 文本型,响应头 为 哈希表,返回数据 为 字节型[])
' 根据标记判断的是哪一个请求
如果(标记 == "查ID")
' 获取json里面的id查询资料
变量 data2 = 创建 哈希表()
data2.添加项目("uid","1")
data2.添加项目("uname","zhangsan")
' 这里的请求会回到这个回调代码块里面
异步网络操作1.发送POST请求("查资料","查资料的URL地址",data2,"UTF-8",异步操作回调)
否则 如果(标记 == "查资料")
' 用返回的数据和上一步JSON组合
结束 如果
结束 事件
事件 请求发送失败(标记 为 文本型,响应头 为 哈希表,返回数据 为 字节型[],错误信息 为 文本型)
变量 请求失败信息 = $"请求标记:{标记} 请求发送失败;错误信息:{错误信息}"
调试输出(请求失败信息)
结束 事件
结束 定义 您好,函数调用顺序错误了,必须先创建连接后再调用其它函数。
正确示例:
变量 http访问 = 创建 HTTP()
' 必须先调用该函数
http访问.创建连接("https://pigeon.jinritemai.com/pcbackend/conversa")
http访问.超时 = 60
http访问.请求方式 = "POST"
http访问.添加请求头("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36")
http访问.添加请求头("Accept","application/json, text/plain, */*")
http访问.添加请求头("Content-Type","application/json;charset=UTF-8")
' 发送任何网络请求都是耗时操作,应该放在子线程中执行
异步执行首
变量 请求结果 为 文本型 = http访问.发送POST请求("665","utf-8")
到主线程
标签1.标题 = 请求结果
异步执行尾组件“HTTP.java”源码位置:VcnStudio安装目录\sdk\android\components\primary\class\HTTP.java
异步执行了 结果还没来 数据 json已经解析下一个 我想返回之后在解析下一个
您好,函数调用顺序错误了,必须先创建连接后再调用其它函数。
正确示例:
变量 http访问 = 创建 HTTP()
' 必须先调用该函数
http访问.创建连接("https://pigeon.jinritemai.com/pcbackend/conversa")
http访问.超时 = 60
http访问.请求方式 = "POST"
http访问.添加请求头("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36")
http访问.添加请求头("Accept","application/json, text/plain, */*")
http访问.添加请求头("Content-Type","application/json;charset=UTF-8")
' 发送任何网络请求都是耗时操作,应该放在子线程中执行
异步执行首
变量 请求结果 为 文本型 = http访问.发送POST请求("665","utf-8")
到主线程
标签1.标题 = 请求结果
异步执行尾组件“HTTP.java”源码位置:VcnStudio安装目录\sdk\android\components\primary\class\HTTP.java
请问 我是在子程序里面返回的json 取出ID 再用ID去查资料 然后跟 这个JSON组合起来 必须要等待这个ID查的资料结果猜可以 我要怎么写呢?
您好,函数调用顺序错误了,必须先创建连接后再调用其它函数。
正确示例:
变量 http访问 = 创建 HTTP()
' 必须先调用该函数
http访问.创建连接("https://pigeon.jinritemai.com/pcbackend/conversa")
http访问.超时 = 60
http访问.请求方式 = "POST"
http访问.添加请求头("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36")
http访问.添加请求头("Accept","application/json, text/plain, */*")
http访问.添加请求头("Content-Type","application/json;charset=UTF-8")
' 发送任何网络请求都是耗时操作,应该放在子线程中执行
异步执行首
变量 请求结果 为 文本型 = http访问.发送POST请求("665","utf-8")
到主线程
标签1.标题 = 请求结果
异步执行尾组件“HTTP.java”源码位置:VcnStudio安装目录\sdk\android\components\primary\class\HTTP.java
http访问.超时 = 60
http访问.创建连接("https://pigeon.jinritemai.com/pcbackend/conversa")
http访问.添加请求头("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36")
http访问.添加请求头("Accept","application/json, text/plain, */*")
http访问.添加请求头("Content-Type","application/json;charset=UTF-8")
http访问.请求方式 = "POST"
http访问.发送POST请求("665","utf-8")不管怎么写 都说空指针