Naver韩语词典/英语词典搜索工具_v1.01_20220708
分发“Naver韩语词典/英语词典搜索工具_v1.01_20220708”并纠正了一个错误。
下面的文章总结了 Naver 韩语和英语词典搜索工具的概要以及它们的使用方法。
今天 (2022-07-08) 发布了以下评论。
https://prodtool.tistory.com/28#comment9159871
#ToDo:审核是否更改评论链接
![네이버 국어사전/영어사전 검색 도구 오류 신고 댓글](https://prodskill.com/wp-content/uploads/2022/09/image-129.png)
检查后,我收到以下错误消息:
当我检查 Fiddler 时,响应为空。
服务器上似乎添加了一些条件。如果不满足该条件,它似乎不会给出响应。
如果您在 Web 浏览器中搜索,通常会收到 json 格式的响应。
正常响应的Request头中有Referer。
为了以防万一,我添加了 Referer 标头。(modUtil.GetDataFromURL 第 36 行)
Option Explicit Function GetDataFromURL(strURL, strMethod, strPostData, Optional strCharSet = "UTF-8") Dim lngTimeout Dim strUserAgentString Dim intSslErrorIgnoreFlags Dim blnEnableRedirects Dim blnEnableHttpsToHttpRedirects Dim strHostOverride Dim strLogin Dim strPassword Dim strResponseText Dim objWinHttp lngTimeout = 59000 strUserAgentString = "http_requester/0.1" intSslErrorIgnoreFlags = 13056 ' 13056: ignore all err, 0: accept no err blnEnableRedirects = True blnEnableHttpsToHttpRedirects = True strHostOverride = "" strLogin = "" strPassword = "" Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1") '-------------------------------------------------------------------- 'objWinHttp.SetProxy 2, "xxx.xxx.xxx.xxx:xxxx", "" 'Proxy를 사용하는 환경에서 설정 '-------------------------------------------------------------------- objWinHttp.SetTimeouts lngTimeout, lngTimeout, lngTimeout, lngTimeout objWinHttp.Open strMethod, strURL If strMethod = "POST" Then objWinHttp.SetRequestHeader "Content-type", "application/x-www-form-urlencoded; charset=UTF-8" Else objWinHttp.SetRequestHeader "Content-type", "text/html; charset=euc-kr" End If If strHostOverride <> "" Then objWinHttp.SetRequestHeader "Host", strHostOverride End If objWinHttp.SetRequestHeader "Referer", "https://ko.dict.naver.com/" '2022-07-08 추가 objWinHttp.Option(0) = strUserAgentString objWinHttp.Option(4) = intSslErrorIgnoreFlags objWinHttp.Option(6) = blnEnableRedirects objWinHttp.Option(12) = blnEnableHttpsToHttpRedirects If (strLogin <> "") And (strPassword <> "") Then objWinHttp.SetCredentials strLogin, strPassword, 0 End If On Error Resume Next objWinHttp.Send (strPostData) objWinHttp.WaitForResponse If Err.Number = 0 Then If objWinHttp.Status = "200" Then 'GetDataFromURL = objWinHttp.ResponseText GetDataFromURL = BinaryToText(objWinHttp.ResponseBody, strCharSet) Else GetDataFromURL = "HTTP " & objWinHttp.Status & " " & _ objWinHttp.StatusText End If Else GetDataFromURL = "Error " & Err.Number & " " & Err.Source & " " & _ Err.Description End If On Error GoTo 0 Set objWinHttp = Nothing End Function
效果很好!
这个错误的补丁版本(Naver Korean Dictionary/English Dictionary Search Tool_v1.01_20220708)已经上传到github,可以直接从下面的网址下载。
https://github.com/DAToolset/ToolsForDataStandard/raw/main/Naver韩语词典、英语词典搜索工具_v1.01_20220708.xlsm
作为参考,我在github上创建了一个目录,并单独上传了源码。
ToolsForDataStandard/src_Naver 韩语词典、英语词典搜索工具在主DAToolset/ToolsForDataStandard (github.com)
<< 相关文章列表 >>
你好。除了取词工具之外,词典检索工具也被用得很好。
但我发现了一件事。
我通过将 premium 输入为 premium 进行搜索,结果返回了 premium 的结果。
我正在检测拼写错误以及附加含义...这就是结果 ^^;;
当你在 Naver Dictionary 中搜索这个词时,它似乎会自动转换拼写错误并给出结果,但最好只吐出完全匹配的情况...... (当然,有一个选项叫‘完全匹配’^^;;)
感谢您的好评。
当我检查Naver词典搜索结果JSON数据时,当输入的单词(A)和搜索结果中的单词(B)不同时,有一个项目可以单独管理这两个值。
我们很快将添加一项功能,以便您可以检查您输入的单词 (A) 与搜索结果中的单词 (B) 是否不同。
哦哦!!我很高兴这是一个可以改变的项目!我很期待。谢谢。
我修补了该功能并写了一篇文章。
https://prodskill.com/ko/naver-korean-english-dictionary-search-tool-update-20240201/
请参考内容。