使用WWWJDIC后门API查询日语索引例句时遇500服务器错误
解决WWWJDIC后门API查询例句返回500错误的问题
问题原因
你构造请求URL时,错误地在k参数中加入了多余的=1=部分。根据API规范,字典编号n已经作为URL前缀的一部分(即1ZEU中的1),无需在k参数里重复指定。
修正后的代码
var lookupword = "辛い"; var kana = "からい"; // 字典编号(1 = EDICT) var n = 1; // 后门模式(Z = 原始字典显示) var M = "Z"; // 查询类型(E = 通过日语词汇索引查询例句) var t = "E"; // 键类型(U = UTF8,格式为 U<日文词>=<假名>=) var k = $"U{System.Net.WebUtility.UrlEncode(lookupword)}={System.Net.WebUtility.UrlEncode(kana)}="; var url = $"https://www.edrdg.org/cgi-bin/wwwjdic/wwwjdic?{n}{M}{t}{k}"; using (var client = new HttpClient()) { var request = await client.GetAsync(url); var response = await request.Content.ReadAsStringAsync(); Console.WriteLine(response); }
正确的示例请求URL
https://www.edrdg.org/cgi-bin/wwwjdic/wwwjdic?1ZEU%E8%BE%9B%E3%81%84=%E3%81%8B%E3%82%89%E3%81%84=
验证说明
修正后,请求不再包含多余的字典编号参数,符合API的后门调用格式,能够正常获取例句数据。
内容的提问来源于stack exchange,提问作者djcolonico
相关产品推荐
相关产品推荐

