使用ChromeDriver的時候和skywaling發(fā)生沖突的問題

錯誤描述

在使用chromedriver的時候發(fā)現(xiàn)如下報錯

java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws
at org.asynchttpclient.netty.request.NettyRequestSender.validateWebSocketRequest(NettyRequestSender.java:577)
at org.asynchttpclient.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:95)
at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:259)
at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBpaccessorP9Gq6idG(DefaultAsyncHttpClient.java)
at org.asynchttpclient.DefaultAsyncHttpClientauxiliaryV5w3vlRG.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85)
at org.asynchttpclient.DefaultAsyncHttpClient.execute(DefaultAsyncHttpClient.java)
at org.asynchttpclient.DefaultAsyncHttpClient.executeRequest(DefaultAsyncHttpClient.java:228)
at org.asynchttpclient.BoundRequestBuilder.execute(BoundRequestBuilder.java:35)
at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:66)
at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137)
at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132)
at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77)
at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124)
at java.util.Optional.map(Optional.java:215)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137)
at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
20220430 09:56:51.629 [pool-3-thread-1] [WARN ] [TID:N/A] org.openqa.selenium.remote.http.netty.NettyWebSocket - java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws
at org.asynchttpclient.ListenableFutureCompletedFailure.<init>(ListenableFuture.java:86) at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:262) at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBpaccessorP9Gq6idG(DefaultAsyncHttpClient.java) at org.asynchttpclient.DefaultAsyncHttpClientauxiliaryV5w3vlRG.call(Unknown Source) at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85) at org.asynchttpclient.DefaultAsyncHttpClient.execute(DefaultAsyncHttpClient.java) at org.asynchttpclient.DefaultAsyncHttpClient.executeRequest(DefaultAsyncHttpClient.java:228) at org.asynchttpclient.BoundRequestBuilder.execute(BoundRequestBuilder.java:35) at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:66) at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137) at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132) at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77) at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124) at java.util.Optional.map(Optional.java:215) at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137) at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws at org.asynchttpclient.netty.request.NettyRequestSender.validateWebSocketRequest(NettyRequestSender.java:577) at org.asynchttpclient.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:95) at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:259) ... 24 common frames omitted 20220430 09:56:51.643 [pool-3-thread-1] [ERROR] [TID:N/A] com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl - ChromeDriver啟動失敗,error msg:Unable to establish websocket connection to http://localhost:30368/devtools/browser/582740e9-cbcf-4a3c-8a29-eb56c01770e3 Build info: version: '4.1.3', revision: '7b1ebf28ef' System info: host: 'cloud-dfs-100-61', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-142-generic', java.version: '1.8.0_151' Driver info: driver.version: ChromeDriver org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:30368/devtools/browser/582740e9-cbcf-4a3c-8a29-eb56c01770e3 Build info: version: '4.1.3', revision: '7b1ebf28ef' System info: host: 'cloud-dfs-100-61', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-142-generic', java.version: '1.8.0_151' Driver info: driver.version: ChromeDriver at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:104) at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137) at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132) at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77) at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124) at java.util.Optional.map(Optional.java:215) at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137) at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 20220430 09:56:51.823 [Forwarding newSession on session null to remote] [INFO ] [TID:N/A] org.openqa.selenium.remote.ProtocolHandshake - Detected dialect: W3C 20220430 09:56:51.833 [pool-3-thread-2] [WARN ] [TID:aa8e5ee61c1a478292ba638bb156c0b6.214.16512838118330005] org.openqa.selenium.remote.http.WebSocket - No WebSocketUpgradeHandler but scheme is ws java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws at org.asynchttpclient.netty.request.NettyRequestSender.validateWebSocketRequest(NettyRequestSender.java:577) at org.asynchttpclient.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:95) at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:259) at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBpaccessorP9Gq6idG(DefaultAsyncHttpClient.java) at org.asynchttpclient.DefaultAsyncHttpClientauxiliaryV5w3vlRG.call(Unknown Source) at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85) at org.asynchttpclient.DefaultAsyncHttpClient.execute(DefaultAsyncHttpClient.java) at org.asynchttpclient.DefaultAsyncHttpClient.executeRequest(DefaultAsyncHttpClient.java:228) at org.asynchttpclient.BoundRequestBuilder.execute(BoundRequestBuilder.java:35) at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:66) at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137) at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132) at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77) at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124) at java.util.Optional.map(Optional.java:215) at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93) at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126) at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137) at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 20220430 09:56:51.835 [pool-3-thread-2] [WARN ] [TID:N/A] org.openqa.selenium.remote.http.netty.NettyWebSocket - java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws at org.asynchttpclient.ListenableFutureCompletedFailure.<init>(ListenableFuture.java:86)
at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:262)
at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBpaccessorP9Gq6idG(DefaultAsyncHttpClient.java)
at org.asynchttpclient.DefaultAsyncHttpClientauxiliaryV5w3vlRG.call(Unknown Source)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85)
at org.asynchttpclient.DefaultAsyncHttpClient.execute(DefaultAsyncHttpClient.java)
at org.asynchttpclient.DefaultAsyncHttpClient.executeRequest(DefaultAsyncHttpClient.java:228)
at org.asynchttpclient.BoundRequestBuilder.execute(BoundRequestBuilder.java:35)
at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:66)
at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137)
at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132)
at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77)
at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124)
at java.util.Optional.map(Optional.java:215)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137)
at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: No WebSocketUpgradeHandler but scheme is ws
at org.asynchttpclient.netty.request.NettyRequestSender.validateWebSocketRequest(NettyRequestSender.java:577)
at org.asynchttpclient.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:95)
at org.asynchttpclient.DefaultAsyncHttpClient.executeoriginalgPmIvOBp(DefaultAsyncHttpClient.java:259)
... 24 common frames omitted
20220430 09:56:51.837 [pool-3-thread-2] [ERROR] [TID:N/A] com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl - ChromeDriver啟動失敗,error msg:Unable to establish websocket connection to http://localhost:10870/devtools/browser/ad72bc97-293a-4821-b43a-acc2e8f7cfc4
Build info: version: '4.1.3', revision: '7b1ebf28ef'
System info: host: 'cloud-dfs-100-61', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-142-generic', java.version: '1.8.0_151'
Driver info: driver.version: ChromeDriver
org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:10870/devtools/browser/ad72bc97-293a-4821-b43a-acc2e8f7cfc4
Build info: version: '4.1.3', revision: '7b1ebf28ef'
System info: host: 'cloud-dfs-100-61', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-142-generic', java.version: '1.8.0_151'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:104)
at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambdacreate3(NettyWebSocket.java:137)
at org.openqa.selenium.remote.http.netty.NettyClient.openSocket(NettyClient.java:132)
at org.openqa.selenium.devtools.Connection.<init>(Connection.java:77)
at org.openqa.selenium.chromium.ChromiumDriver.lambdanew2(ChromiumDriver.java:124)
at java.util.Optional.map(Optional.java:215)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:122)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.getChromeDriver(ChromeDriverDubboImpl.java:162)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.callChrome(ChromeDriverDubboImpl.java:126)
at com.deepwise.cloud.dfs.dubbo.ChromeDriverDubboImpl.lambdanull0(ChromeDriverDubboImpl.java:137)
at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

解決過程

看了下報錯的對戰(zhàn)信息,發(fā)現(xiàn)是因?yàn)閟kywalking字節(jié)碼的增強(qiáng)造成的

org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInterWithOverrideArgs.intercept(InstMethodsInterWithOverrideArgs.java:85)

在使用chromedriver的時候需要引入依賴包

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>4.1.3</version>
        </dependency>

通過這個依賴包間接依賴了

<dependency>
    <groupId>org.asynchttpclient</groupId>
    <artifactId>async-http-client</artifactId>
    <version>2.12.3</version>
</dependency>

而skywalking對aync-http-client的增強(qiáng)導(dǎo)致報錯

NettyRequestSender的sendRequest在發(fā)送ws://localhost:26135/devtools/browser請求的時候愉老,入?yún)ebSocketUpgradeHandler被skywalking的增強(qiáng)轉(zhuǎn)成了AsyncHandlerWrapper,導(dǎo)致如下校驗(yàn)發(fā)生報錯 No WebSocketUpgradeHandler but scheme is ws

private void validateWebSocketRequest(Request request, AsyncHandler<?> asyncHandler) {
  Uri uri = request.getUri();
  boolean isWs = uri.isWebSocket();
  if (asyncHandler instanceof WebSocketUpgradeHandler) {
    if (!isWs) {
      throw new IllegalArgumentException(
              "WebSocketUpgradeHandler but scheme isn't ws or wss: " + uri.getScheme());
    } else if (!request.getMethod().equals(GET) && !request.getMethod().equals(CONNECT)) {
      throw new IllegalArgumentException(
              "WebSocketUpgradeHandler but method isn't GET or CONNECT: " + request.getMethod());
    }
  } else if (isWs) {
    throw new IllegalArgumentException("No WebSocketUpgradeHandler but scheme is " + uri.getScheme());
  }
}

所以需要取消對aync-http-client的增強(qiáng)來防止報錯,查看skywalking的插件apm-asynchttpclient-2.x-plugin-8.3.0.jar是用來對aync-http-client注入增強(qiáng)用的,刪除這個插件后坯屿,恢復(fù)正常晌缘。

版本說明

Skywalking 8.3.0

selenium-chrome-driver 4.1.3

chromeDriver 80.0.3987.16

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末长捧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子放祟,更是在濱河造成了極大的恐慌鳍怨,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跪妥,死亡現(xiàn)場離奇詭異鞋喇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)眉撵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門侦香,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纽疟,你說我怎么就攤上這事罐韩。” “怎么了污朽?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵散吵,是天一觀的道長。 經(jīng)常有香客問我,道長矾睦,這世上最難降的妖魔是什么晦款? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮顷锰,結(jié)果婚禮上柬赐,老公的妹妹穿的比我還像新娘。我一直安慰自己官紫,他們只是感情好肛宋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著束世,像睡著了一般酝陈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毁涉,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天沉帮,我揣著相機(jī)與錄音,去河邊找鬼贫堰。 笑死穆壕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的其屏。 我是一名探鬼主播喇勋,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼偎行!你這毒婦竟也來了川背?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤蛤袒,失蹤者是張志新(化名)和其女友劉穎熄云,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妙真,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缴允,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了珍德。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癌椿。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖菱阵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缩功,我是刑警寧澤晴及,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站嫡锌,受9級特大地震影響虑稼,放射性物質(zhì)發(fā)生泄漏琳钉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一蛛倦、第九天 我趴在偏房一處隱蔽的房頂上張望歌懒。 院中可真熱鬧,春花似錦溯壶、人聲如沸及皂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽验烧。三九已至,卻和暖如春又跛,著一層夾襖步出監(jiān)牢的瞬間碍拆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工慨蓝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留感混,地道東北人。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓礼烈,卻偏偏與公主長得像弧满,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子济丘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容