Foxtable(狐表)用户栏目专家坐堂 → 文字、图片自动审核(鉴别色情|恶心|政治|等等),该怎么做?


  共有9464人关注过本帖树形打印复制链接

主题:文字、图片自动审核(鉴别色情|恶心|政治|等等),该怎么做?

帅哥哟,离线,有人找我吗?
有点蓝
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/19 21:56:00 [只看该作者]

25楼的代码我测试也没有问题,也是在命令窗口的

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 9:43:00 [只看该作者]

回复前面。那你试试卸载重装 .net framework 吧,尽量安装 3.5 版本。
[此贴子已经被作者于2018/11/20 9:42:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1528 积分:10778 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/11/20 14:37:00 [只看该作者]

可能是我电脑的系统是xp的,重装3.5也还是不行

刚刚,放在服务器上测试,得到的结果,见下图(没有提示错误)

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_201811201434477777.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/11/20 14:40:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/20 14:40:00 [只看该作者]

那返回就是正常的。

 

你xp系统的话,试试卸载重装 .net framework 3.5

 

你得到数据以后,读取json即可 http://www.foxtable.com/mobilehelp/scr/0140.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1528 积分:10778 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/11/25 10:24:00 [只看该作者]

Dim json As String = "{"log_id": 6632151742558786072, "result": {"spam": 0, "review": [], "reject": [], "pass": [{"score": 0.0099999997764826, "hit": [], "label": 1}, {"score": 0.075000002980232, "hit": [], "label": 2}, {"score": 0, "hit": [], "label": 3}, {"score": 0.27147358208955, "hit": [], "label": 4}, {"score": 0.017000000923872, "hit": [], "label": 5}]}}" '两端已经加上符号了,这个字符串是从服务器访问记录完整抄过来的
Dim jo As JObject = JObject.Parse(json)
Output.Show(jo("log_id"))

Output.Show(jo("result")("spam"))
Output.Show(jo("result")("review"))
Output.Show(jo("result")("reject"))
For Each jt As JToken In jo("result")("pass")
    Output.Show(jt("score").ToString & "|" & jt("hit").ToString & "|" & jt("label").ToString) 
Next

保存上述代码,提示:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片201811251021400975433222.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/11/25 10:28:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/25 16:56:00 [只看该作者]

测试的时候,请这样测试

 

Dim json As String = ClipBoard.GetText

Dim jo As JObject = JObject.Parse(json)
Output.Show(jo("log_id"))
Output.Show(jo("result")("spam"))
Output.Show(jo("result")("review").Tostring)
Output.Show(jo("result")("reject").Tostring)
For Each jt As JToken In jo("result")("pass")
    Output.Show(jt("score").ToString & "|" & jt("hit").ToString & "|" & jt("label").ToString)
Next

 

然后拷贝下面内容,点击执行上的代码

 

{"log_id": 6632151742558786072, "result": {"spam": 0, "review": [], "reject": [], "pass": [{"score": 0.0099999997764826, "hit": [], "label": 1}, {"score": 0.075000002980232, "hit": [], "label": 2}, {"score": 0, "hit": [], "label": 3}, {"score": 0.27147358208955, "hit": [], "label": 4}, {"score": 0.017000000923872, "hit": [], "label": 5}]}}


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1528 积分:10778 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/11/26 10:39:00 [只看该作者]

将上述代码应用到网页内,代码如下:

******
Dim text = "cfont-family: Verdana;">Dim token As String = "24.335ebee6313224b4c8dc3f3135768241.2592000.1545641111.282335-14853135"
Dim hc As New HttpClient("https://aip.baidubce.com/rest/2.0/antispam/v2/spam?access_token=" & Token)
hc.Headers.Add("Content-Type","application/x-www-form-urlencoded")
hc.content = text
Dim result = hc.GetData
Functions.Execute("logtext","昵称=" & nicheng & "|result=" & result) ’这里正常执行,随后发生调用错误

Dim json As String = ClipBoard.GetText ’这里改为=result,就没有下面的错误提示了,但是Output.Show服务器没有展示,logtext也没有错误提示
Dim jo As JObject = JObject.Parse(json)
Output.Show(jo("log_id"))
Output.Show(jo("result")("spam"))
Output.Show(jo("result")("review").Tostring)
Output.Show(jo("result")("reject").Tostring)
For Each jt As JToken In jo("result")("pass")
    Output.Show(jt("score").ToString & "|" & jt("hit").ToString & "|" & jt("label").ToString) 
Next

logtext记录错误如下:
2018-11-26 10:32:06.9866
正常记录,valid_fillout函数,顶部专设记录
2018-11-26 10:32:07.3558
昵称=吊毛1小撮|result={"log_id": 8123061711979902650, "result": {"spam": 2, "review": [{"score": 0.81499999761581, "hit": [], "label": 2}], "reject": [], "pass": [{"score": 0, "hit": [], "label": 1}, {"score": 0, "hit": [], "label": 3}, {"score": 0.12587086092715, "hit": [], "label": 4}, {"score": 0.21099999547005, "hit": [], "label": 5}]}}
2018-11-26 10:32:07.4485
调用的目标发生了异常。
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.UserFunctions.Execute(String Name, Object[] Args)
Unexpected character encountered while parsing value: z. Path '', line 0, position 0.
   在 Newtonsoft.Json.JsonTextReader.ParseValue()
   在 Newtonsoft.Json.JsonTextReader.Read()
   在 Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)
   在 Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)
   在 Newtonsoft.Json.Linq.JObject.Parse(String json)
   在 UserCode.ArktFkWwy8wl2gC3u(Object[] Args)
[此贴子已经被作者于2018/11/26 11:02:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/26 11:33:00 [只看该作者]

改成result绝对没问题

 

Dim json As String = result

 

msgbox(result)

 

如果result为空,说明获取回来的数据不正确导致的,这个时候要加判断,如

 

If result = "" Then

    msgbox("获取数据出错")

Else

    msgbox("正常返回数据")

End If


 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1528 积分:10778 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/11/26 12:43:00 [只看该作者]

把Output.Show改成magbox就好了

 回到顶部
帅哥哟,离线,有人找我吗?
zhangjian222200
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1528 积分:10778 威望:0 精华:0 注册:2016/9/12 11:18:00
  发帖心情 Post By:2018/11/27 11:11:00 [只看该作者]

token有1个月时限,每次都手动获取,有点麻烦

是否可以自动获取

36楼代码,可以这样判断score数值么?
If jo("result")("spam").Tostring = "1" OrElse jo("result")("spam").Tostring = "2" Then
    e.WriteString("请更换昵称!")
    Return ""
End If
For Each jt As JToken In jo("result")("pass")
    If jt("score").ToString > 0.2 Then
       e.WriteString("请更换昵称!")
       Return ""
    End If
Next


                   result={"log_id": 2280020628089929498, 
                 "result": {"spam": 0, 
                              "review": [], 
                               "reject": [], 
                                "pass": [{"score": 0.0099999997764826, "hit": [], "label": 1}, 
                                            {"score": 0.10300000011921, "hit": [], "label": 2}, 
                                            {"score": 0, "hit": [], "label": 3}, 
                                            {"score": 0.27147358208955, "hit": [], "label": 4}, 
                                            {"score": 0.028000000864267, "hit": [], "label": 5}]
                                            }
                               }
[此贴子已经被作者于2018/11/27 11:38:17编辑过]

 回到顶部
总数 48 上一页 1 2 3 4 5 下一页