七牛云详解

如何获取存储文件的外链接

图片有可能下载失败,或者失效, 也许大多数时候,可以保存原始的图片路径,来保留文章的图片,但是这样做,一旦图片失效,那么文章就无法使用了,更何苦有些平台是存在防盗链的 因此图片最好下载下来,在自己的平台中保存,比如使用七牛云服务, 但是这里有个问题是,下载图片也有可能失败,在你转化了爬取图片的原生地址为本地地址之后,如果失败了,意味着 本地图片并没有上传成功,这时候可以记录一个状态位来解决这个问题,由于在进行保存图片的时候,即保存了原始图片地址,也保留了本地上传后的图片地址,只有上传图片成功的图片状态才 设置为可用,如果没有上传成功,通过状态位找到这些图片,重新保留到本地或者上传一次。

公开空间

  1. 直接在内容管理界面上获得链接

  2. 通过以下地址访问。

 `1.  http://<domain>/<key>` </pre>

其中`<domain>`是 bucket 所对应的域名。七牛会给每个 bucket 分配一个测试域名,但由于 [测试域名的访问限制](https://developer.qiniu.com/fusion/kb/1319/test-domain-access-restriction-rules),生产环境需要 [绑定自定义域名](https://portal.qiniu.com/domain/create) 访问。 `<key>`可理解为文件名,但可包含文件分隔符等其它字符。可参考:[特殊 key 资源的访问](https://developer.qiniu.com/kodo/kb/special-access-to-key-resources)
**注意: key必须采用utf8编码,如使用非utf8编码访问七牛云将反馈错误**
  1. 批量获取下载链接

私有空间

1.私有空间区别于公开空间,私有空间在控制台无法直接获取外链

2.私有资源必须通过临时 [下载凭证] (/kodo/manual/download-token)(downloadToken)进行下载,如下:

1. [GET] http://<domain>/<key>?e=<deadline>&token=<downloadToken> </pre>

注意,尖括号不是必需,代表替换项。

deadline 由服务器时间加上 指定秒数 表示过期时间点。默认 3600 秒,服务器时间需校准,不要与标准时间相差太大。 downloadToken 可以使用 SDK 提供的方法生成。

以下提供python生成私有空间外链的参考代码,更多详细请参考官方sdk

 `1.  # -*- coding: utf-8 -*-

2.  # flake8: noqa

3.  import requests

5.  from qiniu import Auth

7.  #AK、SK可在控制台的个人中心里面获取

8.  access_key = 'AK'

9.  secret_key = 'SK'

11.  q = Auth(access_key, secret_key)

13.  #有两种方式构造base_url的形式

14.  base_url = 'http://%s/%s' % (bucket_domain, key)

16.  #或者直接输入url的方式下载

17.  base_url = 'http://domain/key'

19.  #可以设置token过期时间

20.  private_url = q.private_download_url(base_url, expires=3600)

22.  print(private_url)

23.  r = requests.get(private_url)

24.  assert r.status_code == 200` </pre>


python如何用七牛云直接传图片?

因为我看了很多网站上关于七牛云的介绍以及sdk的使用,基本都是在本地有文件的时候,然后通过路径上传上去..
我想问的是,假如我本地没有文件的话,而是直接通过上面连接的方式(直接用写入的方式 )
保存到七牛云
有这样的方法吗
不知道我的问题描述得清楚吗/?

比如我的图片文件我不需要在本地写一次,而是直接就上传到七牛云这样?

import urllib2
url = 'http://mp.weixin.qq.com/rr?timestamp=1477967764&src=3&ver=1&signature=q6PJ4iwz2XQTjlRFChULUeyL9foFWJYob94G2OuP-Px7I1Ed0FexIhHA9eEQGjmvgcZtl-CGI1jhJeeJp45sHoiIqaEMG6UZ2wMSrn*bCuE='
request = urllib2.Request(url)
response = urllib2.urlopen(request)
f = open('test.png', 'wb')
f.write(response.read())
f.close()

大部分云存储多会提供这样的接口,七牛提供直接上传文件内容的接口为:

local_file = './test.png'
fp = open(local_file)
data = fp.read()
# 传文件内容的接口
ret, info = put_data(token, upload_key, data)

Python学习——使用七牛云存储照片等文件

我们在做网站开发时,有时需要用户上传文件,比如说最常见的照片。此时如果我们将文件直接存储在数据库中,一来会使得数据文件过多,二来用户在访问文件时会加剧数据库的负担。为此,我们可以将数据文件存放在网上,在访问文件时直接访问网上文件的链接即可。

这里我们采用七牛云来存储文件,我们拿照片类文件来举例。

1、注册七牛云账号

作为开发者的话,我们是需要注册成为开发者账号的。七牛的官网链接为: https://www.qiniu.com/

2、开发环境

我们以Python为例来说明下如何将照片上传到七牛云上,并返回该照片的链接回来。

官方文档 : https://developer.qiniu.com/kodo/sdk/1242/python

首先安装七牛云包

pip install qiniu

然后获取开发者 Access KeySecret Key。这两个key在注册后会在个人中心提供给我们的。

再然后需要建立一个bucket,也就是文件存储的仓库,我们需要的是它的bucket_name

以及我们的域名,这个域名如果不指定的话,七牛会给我们一个测试域名,我们暂时可以用这个测试域名:url

然后按照如下格式就可以了:

import qiniu

access_key = '*******************************'
secret_key = '*******************************'
url = '***************************'
bucket_name = '*******************'
q = qiniu.Auth(access_key, secret_key)

def qiniu_upload(key, localfile):
    token = q.upload_token(bucket_name, key, 3600)

    ret, info = qiniu.put_file(token, key, localfile)

    if ret:
        return '{0}{1}'.format(url, ret['key'])
    else:
        raise UploadError('上传失败,请重试')

key = '微信图片_20180408124226.jpg'
localfile = 'C:/Users/Administrator.SKY-20180408LJB/Desktop/微信图片_20180408124226.jpg'

res = qiniu_upload(key, localfile)
print(res)

我们只需要提供文件名,文件路径。便可以将其上传到七牛云上,并返回给我们一个可以访问该文件的url链接。

当然,也可以将其封装成一个API接口,方便调用。


如何利用”七牛云”在UEditor实现图片的上传和浏览

在学习之前,我参考了朋友些的一篇关于这个功能实现的文章,非常不错。大家可以参考:http://www.cnblogs.com/John-Marnoon/p/5818528.html#3501846

里面都写了具体的实现,我也是参照朋友的文章来操作的。现在我重新整理一下实现的步骤:

1 . 注册一个七牛云用户

2. 在七牛云网站中创建一个空间来存储图片,存储区域选择 华东或是 华北,请先记得上传到华东1区的域名为up.qiniu.com、up-z0.qiniu.com和upload.qiniu.com;上传到华北1区的域名为up-z1.qiniu.com和upload-z1.qiniu.com ,后面写代码需要用到。

image

3. 查看七牛云的密钥管理

image

4. 查看空间的域名

image

5. 修改UEditor中的 UploadHandler类的代码。实现代码如下

image

View Code

image

6. 在后台的UEditor上传图片

image

7. 在后台保存成功后,在前台预览

image

8.七牛云的C# SDK 使用指南和下载地址

http://developer.qiniu.com/code/v6/sdk/csharp.html

image

将WordPress部署到七牛云存储实现CDN加速

首先我们需要了解什么是 CDN 加速,CDN 加速简单的来说,就是把原服务器上数据复制到其他服务器上,用户访问时,那台服务器近访问到的就是那台服务器上的数据。CDN 加速优点是成本低,速度快。适合访问量比较大的网站。而且,如果你的博客所在的主机是限制流量的,一个很好的办法就是把图片还有其他静态文件部署到其他服务器,这样就会减少主机流量消耗了。

[图片上传失败...(image-32c61d-1544023133507)]

那么我们为什么要用七牛呢?七牛的优势总结如下:

1、安全性能:为用户数据创建至少三个副本并跨IDC存储到多个数据中心,同时支持防盗链设置。

2、数据存储:支持图片、音频、视频、JS、CSS等多种静态文件的存储,并支持断点续传。

3、云端加速:七牛的500多个加速节点遍布全球,会自动选择离用户最近的节点,并实现数据上传下载的双向加速。

4、数据处理:支持云端在线压缩、裁剪等图片处理及音频、视频格式转换,还可在线进行视频截图。

5、开发合作:为开发者提供了多种接入工具及丰富的开发包,提供API、SDK教程示例。

6、域名绑定:已备案的网站可申请绑定自己的域名,未备案的用户可使用七牛的二级域名绑定。

7、镜像功能:通过一定的设置,可自动将网站原有图片等静态文件镜像到七牛,而无需重新上传到七牛服务器。

8、外链分享:由于七牛云支持外链,可以将文件上传至七牛,直接利用文件链接地址作外链调用。

首先我们需要先有一个七牛云存储的账号 七牛云存储网址:https://portal.qiniu.com/

点击此链接申请一个七牛云存储账号,创建一个公开空间,比如我创建一个空间叫 cuiqingcai,和我的域名相对应。

[图片上传失败...(image-86a9f8-1544023133507)]

创建完成之后它就会为我的这个空间分配一个二级域名。我的就叫 cuiqingcai.qiniudn.com

然后我们需要部署我们的网站,点击右边的空间设置,选择镜像存储里面的一键加速网站,这时就需要你输入镜像源,这里就填写你的博客地址,然后勾选下方的使用默认的 robots.txt 配置文件。

Q:为什么要配置 robot.txt 文件?

A:因为你配置了这个网址确定加速之后,七牛会为我们生成一个镜像空间,这个镜像空间的地址就是二级域名地址,我的便是 cuiqingcai.qiniudn.com,你访问之后发现它的内容和我的 cuiqingcai.com 博客网址是完全一致的,这也是为什么把它称为镜像空间的原因。因为内容是一致的,所以会导致搜索引擎对源站 也就是你的域名进行封锁,所以我们可以通过配置 robots.txt 文件避免这种情况的发生。

好,我们继续,点击确定之后我们就能配置好了镜像空间。

[图片上传失败...(image-b904b4-1544023133507)]

下面还有一个域名设置,它默认会为你分配一个默认永久的空间,比如我的就是 cuiqingcai.qiniudn.com,这个是七牛的二级域名,七牛的一大特色就是支持域名绑定,在这里你可以添加你的二级域名,不过貌似需要你账户余额大于10块,但是它是不收费的。另外的要求就是你的域名需要备案,如果没有备案,那就不行了。

点击下面的申请域名绑定,然后点击新窗口右下角的自定义域名,会出现以下内容。

[图片上传失败...(image-5cbeda-1544023133507)]

比如你就可以在此处输入你自己定义的二级域名加备案号。比如我的输入qiniu.cuiqingcai.com 便可以,然后输入备案号,提交审核需要一周之内。你可以先用着它给你分配的二级域名。

好了,配置好了镜像空间和你的域名(或者用默认域名)便可以配置我们的WordPress了。

登陆wordpress仪表盘后,在浏览器中输入:http://你的域名/wp-admin/options.php,使用Ctrl+F命令找到 upload_url_path 选项,在其中输入http://七牛二级域名/wp-content/uploads ,注意,后面一定不要加“/”,比如我的便输入 http://cuiqingcai.qiniudn.com/wp-content/uploads。最终格式如下图:

[图片上传失败...(image-84f103-1544023133507)]

设置之后,点击最下面的确定,这时你发现你的媒体库中的所有的图片的链接格式都已经更改了,已经不是原来的域名链接了。

而变成了七牛云存储你设置的二级域名的链接。比如我的一张图片链接就变成了

http://cuiqingcai.qiniudn.com/wp-content/uploads/2014/11/545ae06e25ea9.png

而你点击七牛云存储下的内容管理,就会发现你的博客下的所有图片都已经同步到了里面。截图如下:

[图片上传失败...(image-a28fa5-1544023133507)]

以后你再新上传的照片也会自动同步到七牛上,此方法的好处在于你只需在wordpress中上传图片,就会自动同步到七牛空间,而无需登陆七牛上传并手动输入图片地址了。并且除了图片地址改变外,其他操作如常。引用图片时会自动加载七牛空间中的图片,实现 wordpress 免费CDN全网加速。不便之处是上传的图片仍会在 wordpress 空间中保留,占用空间容量。也就是说,它仍然在你的本地保存了一份,不过访问时会访问七牛的网址,也就可以实现CDN加速,而且为你的主机节省流量了。当然,由于图片已同步至七牛镜像空间中,你也可以选择删除 wordpress 中的图片。

现在浏览你的网站,如果现在没有问题,那么你就可以不用浏览下面的额外内容,如果有部分图片显示有问题,那么请继续看。

如果你的网站设置了特色图像功能,比较悲剧的事情就发生了。你的网站可能无法读取特色图像,整个页面也显得很难看。这是因为WordPress使用了timthumb缩略图剪裁插件,通过这个插件,用户在后台上传的各种图片都会按照预先在前端页面中设置的大小进行剪裁,大大降低了前端开发的难度。

由于timthumb默认设置中,出于安全考虑是不允许缓存外部地址图片的。因此我们打开timthumb缓存路径时会提示 “您可能无法从该网站获取的图像“。所以解决的办法来了。

找到这个主题所在的目录,找到timthumb.php文件,将下面一条语句

<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="margin: 0px; font-size: 12px !important; vertical-align: middle; overflow: hidden; font-weight: 400; line-height: 15px !important; display: inline-block; height: 42px; padding: 0px 5px; color: rgb(0, 0, 0); border-radius: 0px; width: 814px; background: rgb(255, 255, 255); border: 0px; transition: border 0.2s linear 0s; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; position: absolute; opacity: 0; box-sizing: border-box; box-shadow: none; white-space: pre-wrap; word-wrap: normal; resize: none; tab-size: 4; z-index: 0;"></textarea>

|

1

|

define ('ALLOW_ALL_EXTERNAL_SITES', false)

|

替换为

<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="margin: 0px; font-size: 12px !important; vertical-align: middle; overflow: hidden; font-weight: 400; line-height: 15px !important; display: inline-block; height: 42px; padding: 0px 5px; color: rgb(0, 0, 0); border-radius: 0px; width: 814px; background: rgb(255, 255, 255); border: 0px; transition: border 0.2s linear 0s; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; position: absolute; opacity: 0; box-sizing: border-box; box-shadow: none; white-space: pre-wrap; word-wrap: normal; resize: none; tab-size: 4; z-index: 0;"></textarea>

|

1

|

define ('ALLOW_ALL_EXTERNAL_SITES', true)

|

这样就可以实现通过外链抓取图片了,特色图像便显示出来了。

现在再浏览你的网站,看看还有没有什么问题,如果没有问题,现在就美美地享受移植到七牛上带来的便捷和欢乐吧!

如果还有问题,请继续阅读下方内容。

现在一般的网站模板加载都没有问题了,如果你用的 WordPress 模板比较高级,利用了Ajax异步加载功能,我们便会发现异步加载已经是不会生效的,也可能你的整个网站样式变得混乱。这是为什么?是因为你修改了路径为七牛的路径,加载JS或者CSS文件时便会去七牛那里寻找,但是现在七牛上只同步了图片,JS和CSS文件是不存在的,这时因为找不到这些文件,你的网站便会出现问题了。

现提供两个解决方法:

1.使用水煮鱼的“七牛镜像存储 WordPress 插件”将你的其他文件(如JS,CSS)同步到七牛

插件下载地址:https://wordpress.org/plugins/wpjam-qiniu/

配置好这个插件之后,你可以点击 插件使用帮助 来配置这个插件,配置完了之后便可以将你的js和css文件上传到七牛中。你的Ajax异步加载就不会出现问题了。

2.使用WP Super Cache插件进行同步

插件下载地址:http://wordpress.org/plugins/wp-super-cache/

贴心提示:插件安装之后可能出现如下错误

[图片上传失败...(image-583905-1544023133507)]

固定链接出错,这时你更改下左边面板-设置-固定链接,更改为其他选项,不要选择原来的固定链接就好了,比如我选择文章名这个选项,插件就可以顺利进入啦。

在这里点击CDN选项卡,点击开启CDN支持。

[图片上传失败...(image-8e721d-1544023133507)]

其中Off-site-URL更改为你的七牛镜像域名,比如我的便是 cuiqingcai.qiniudn.com,这样点击确定之后便同样可以把你的JS等文件同步到七牛。你的样式或者Ajax异步加载就可以顺利实现啦。

通过以上步骤,我们就可以将我们的博客部署到七牛云存储上,提高网站加载速度,同时也节省我们的主机流量。一举两得,美哉美哉!

到此为止,我们的网站应该都没有问题了,尽情享受CDN加速之后带来的效果吧!如果还有问题,请评论或者给我留言。

转载请注明:静觅 » 将WordPress部署到七牛云存储实现CDN加速

</article>


什么是CDN加速?

CND概况

CDN的全称是Content Delivery Network,即内容分发网络。

CND加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。

CND加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。

CND服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

关于CDN一些专业人士的解答

下面内容采集自知乎:https://www.zhihu.com/question/36514327

image
image

阿里云CND快速入门地址:https://help.aliyun.com/document_detail/27112.html

</article>


七牛云图片的存储与处理(原理+实战)

96

XiWeidong 关注

2017.11.23 20:20* 字数 1337 阅读 980评论 0喜欢 2

技术演化的方向是什么?
第一,生产的成本越来越低;
第二,做事的效率越来越高

一 【让程序员头痛的问题】

1 . 海量存储
在互联网的应用中,用户会上传大量的图片以及文件,而且访问频繁,如果文件都以传统方式存在服务器磁盘上(单节点),对CPU,内存,磁盘空间和网络带宽等服务器资源都是很大的挑战。主要体现在:

  • 单节访问,并发问题
  • 单节点存储,单点故障
  • 访问权限控制
  • 扩容(水平扩展)

2 . 图片处理

  • 为了满足前端显示需要,一个图片在不同的地方需要不同的尺寸,需要剪裁活压缩图片。
  • 原图太大,带宽的资源非常宝贵,为了节省带宽,需要图片压缩。
  • 图片鉴黄
  • 图片加水印

二 【传统的解决方案】

  • FastDFS,一个开源的轻量级,需自己部署和维护,解决海量存储问题,但是成本高。

  • GraphicsMagick,号称图像处理领域的瑞士军刀,解决图片处理问题,但是一样成本高。

三 【七牛云解决方案】

优点:

  • 高并发
  • 高可用
  • 易扩展
  • 低成本

四 【先看一下七牛的安全机制】

[图片上传失败...(image-35b77a-1544025700425)]

  • 上传凭证:上传文件的时候,需要把uploadToken通过http post传给七牛服务器才能完成身份验证。
  • 管理:如音视频转码,视频加水印,持久化处理等操作时,需要在调用api接口是,在http header 里加入Authorization : QBox AccessToken
  • 下载:如果空间为私有访问时,下载文件需要下载凭证,就是在http get url 后面加入token参数

关于 uploadToken,AccessToken,token 生成算法,本文后面只谈上传:uploadToken

五 【上传图片】

1 . 快速入门,这个简单,可以参考七牛官方文档:
https://developer.qiniu.com/kodo/manual/1233/console-quickstart#step1

注:快速入门 会创建一个存储空间(bucket):test,后面生成uploadToken需要用到。

2 .生成uploadToken, 因为我们通常是通过api接口上传图片的,根据七牛的安全机制,我们需要先生成uploadToken,然后把uploadToken作为post的参数,保证上传的安全性。

[图片上传失败...(image-382437-1544025700425)]

  • AccessKey:必须参数,可以在七牛后台生成
  • SecretKey: 必须参数,可以在七牛后台生成
  • bocket : 必须参数,快速入门里已经创建,名为:test
  • key : 是可选参数,如果加了该参数,上传文件时,必须和这里的key保持一致
  • 策略参数:是可选参数,比如文件的大小,文件的类型等。可以参考:
    https://developer.qiniu.com/kodo/manual/1206/put-policy

[图片上传失败...(image-57abaa-1544025700425)]

AccessKey/SecretKey可以生成多个,用其中一个就行。

生成uploadToken的php代码如下:

//安全的base64函数
function urlsafe_b64encode($string) {
   $data = base64_encode($string);
   $data = str_replace(array('+','/'),array('-','_',''),$data);
   return $data;
}
//AccessKey,SecretKey,bucket  参数赋值
$accessKey = '这里填写自己的accessKey';
$secretKey = '这里填写自己的secretKey';
$bucket = 'test';
//生成必要json数据,json里的scope就是空间名称:bucket ,deadline 是过期时间,单位时间戳
$deadline = time() + 3600; //一小时后过期
$putPolicy = '{"scope":"test","deadline":' . $deadline . '}';
$encodedPutPolicy  = urlsafe_b64encode($putPolicy);
//对上面的数据进行签名,其实就是hash算法
$sign = hash_hmac('sha1', $encodedPutPolicy, $secretKey, true);
$encodedSign = urlsafe_b64encode($sign);
//通过三个参数拼接uploadToken。
$uploadToken = $accessKey . ':' . $encodedSign . ':' . $encodedPutPolicy;

echo "uploadToken: " . $uploadToken . "\n";

验证规则说明:hash算法是不可逆的摘要算法,主要的目的就是保证传递的参数不被篡改。在这里传递的参数是putPolicy ,包括scope和deadline,传递过程中信息是公开的,和签名后的sign 一起传递七牛服务器,七牛服务器会根据同样的算法,同样的参数再hash一次,然后用hash后的值跟传过去sign值比较,如果相等,说明数据没有被篡改,如果不等,说明数据被篡改了。
这里要注意的是:一定要用url安全的base64算法

3.通过表单提交上传文件到七牛云

[图片上传失败...(image-973577-1544025700425)]

标注1. 上传的接口地址(http://upload.qiniu.com/
标注2. multipart/form-data 提交方式
标注3. 参数:

  • token: 是上面生成的uploadToken
  • file:需要上传的文件
  • key:给上传到七牛服务器的文件起个名字,这个名字是唯一的,不能重复。

标注4.返回成功的数据

注:这个是标准的http post 表单提交,同样可以用代码模拟实现。这里就不具体写了。
如果下载七牛的sdk,只要通过设置三个参数(accessKey ,secretKey ,bucket ),所有的功能代码都已经提供,只要调用相关方法就可以了。
官方参考地址:https://developer.qiniu.com/sdk#official-sdk

六 【图片处理】

图片处理其实非常简单,只要再图片访问的URL地址后面加上相关参数即可:
url?Imageslim :图片瘦身
url? imageView2/0/w/<Width>/h/<Height> :等比缩放,不裁剪
url? imageView2/1/w/<Width>/h/<Height> :等比缩放,居中裁剪

******

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容