互联网,web开发,搜索,高性能网站,电子商务

[推荐一个游戏]捉鬼游戏规则

游戏准备阶段:

选择一名玩家作为主持人,主持人首先在心中分配本轮游戏中每个玩家的身份,即谁是“鬼”,谁是“人”(比如9人游戏中是3鬼6人)。由主持人设定2个词(我们建议这两个词为近义词,或者是相互之间有所关联,比如口香糖和泡泡糖、超人和奥特曼之类),然后将这两个词分别写在两张纸条上,依次单独给每位玩家看其中一个词,要注意,给所有的“人”看其中一个词,给所有的“鬼”看另外一个词,也就说,每名玩家只看到了其中一个词,且不知道自己是“人”还是 “鬼”。

游戏开始:

随机选择一名玩家作为起始玩家开始发言,逆时针顺序,每名玩家来描述自己看到的这个词是什么(描述语句中不能带有该词语的任何一个关键字)。顺序进行两轮发言,即每位玩家描述了一遍之后,开始进行第一轮投票:

游戏结束条件:

“人”获胜:所有“鬼”出局

“鬼”获胜:

1,与游戏开始时等同于“鬼”数的“人”出局。如9人游戏中3个“人”出局,则鬼获胜。
2,或者任何一轮投票中,无人投票

建议游戏角色数目配置:

4人局:3人1鬼(2人出局鬼获胜)
5人局:3人2鬼
6人局:4人2鬼
*7人局:5人2鬼
*8人局:6人2鬼 或 5人3鬼
*9人局:6人3鬼
*10人局:7人3鬼
*11人局:8人3鬼
12人局:9人3鬼

初级策略建议:

1、游戏开始阶段,描述语句尽量抽象,无论你的身份是人还是鬼。如果你是“人”,描述的太过具体容易使鬼猜到“人”的词,而轻易的隐藏在“人”中间;如果你是“鬼”,描述的太过具体则易过早暴露自己的身份而遭到被投出局。

2、给主持人的建议:一局游戏能否流畅也欢乐地进行下去,很大程度上取决于主持人所给两个词是否得当。我们建议这两个词的字数尽量一致,且关联度不要太过于明显,如麦当劳—肯德基、可口可乐—百事可乐、新欢—旧爱,就属于关联度太过明显。因为一旦如此,会导致“鬼”很容易猜测出“人”的词,进而使得游戏中的发言失去意义。

在这里,我们不妨举几个例子,读者朋友可自行领会一下出题的要义:

火车—地铁

康师傅—今麦郎

厕所—上厕所

你好吗?—吃了吗?

长途跋涉—跋山涉水

荔枝—草莓

等等

3、在轮到你发言时,尽量去发言,不要轻易说“过”,因为这样会遭到大家的怀疑,即便你是个“人”。从游戏规则上来讲,发言的内容只要不涉及关键字,都是被允许的,也就是说你的发言可以不去描述自己的词而转而去分析场上的局势、你的怀疑对象、你为什么怀疑他,你甚至可以向他提出尖锐的问题。当然,你的怀疑对象也可以无视你的问题。

4、在某些情况危急的时刻,作为一个“人”去说谎即描述你所猜测到的鬼的那个词也是很好的策略,一来放松鬼的警惕,二来让鬼误以为自己是人去鲁莽投票而导致自己出局。

游戏中的策略和技巧远不仅如此,这还得大家自己去亲身体会:)

还等什么,赶快叫上你的朋友们,一起来抓鬼吧!

该游戏特点如下:
1、有效避免了传统天黑请闭眼游戏中跟票的现象
2、鼓励沟通和适度沟通,激发创意,锻炼语言表达能力
3、利于玩家扩展知识面,相互学习
4、增进玩家的配合度和信任度,鼓励玩家主动承担投票责任
5、简化了硬件设备——1枝笔,2片纸就能开始游戏
6、有效地加强了主持人的游戏参与度和乐趣感,降低了主持人的执法难度和记忆量,任何人都能简单上手主持人的任务
7、游戏欢乐愉快,气氛热烈,全无冷场
8、要求玩家逻辑思维严谨,拥有较高的随机应变能力和换位思考能力
9、游戏开始时你难以确定自己是“人”还是“鬼”,有些时候直到游戏结束时依然如此,这种设定给游戏添加了丰富的变化和刺激感。

长城拆开了,不过是一堆散乱的砖头

长城拆开了,不过是一堆散乱的砖头!

  小时候我父亲做的一件事情到今天还让我记忆犹新。父亲是个木工,常帮别人建房子,每次建完房子,他都会把别人废弃不要的碎砖乱瓦捡回来,或一块两块,或三块五块。有时候在路上走,看见路边有砖头或石块,他也会捡起来放在篮子里带回家。久而久之,我家院子里多出了一个乱七八糟的砖头碎瓦堆。我搞不清这一堆东西的用处,只觉得本来就小的院子被父亲弄得没有了回旋的余地。直到有一天,我父亲在院子一角的小空地上开始左右测量,开沟挖槽,和泥砌墙,用那堆乱砖左拼右凑。一间四四方方的小房子居然拔地而起,干净漂亮,和院子形成了一个和谐的整体。父亲把本来养在露天到处乱跑的猪和羊赶进小房子,再把院子打扫干净,我家就有了全村人都羡慕的院子和猪舍。

  当时我只是觉得父亲很了不起,一个人就盖了一间房子,然后就继续和其他小朋友一起,贫困但不失快乐地过我的农村生活。等到长大以后,才逐渐发现父亲做的这件事给我带来的深刻影响。从一块砖头到一堆砖头,最后变成一间小房子,我父亲向我阐释了做成一件事情的全部奥秘。一块砖没有什么用,一堆砖也没有什么用,如果你心中没有一个造房子的梦想,拥有天下所有的砖头也是一堆废物;但如果只有造房子的梦想,而没有砖头,梦想也没法实现。当时我家穷得几乎连吃饭都成问题,自然没有钱去买砖,但我父亲没有放弃,日复一日捡砖头碎瓦,终于有一天有了足够的砖头来造心中的房子。

  后来的日子里,这件事情凝聚成的精神一直在激励着我,也成了我做事的指导思想。在我做事的时候,我一般都会问自己两个问题:一是做这件事情的目标是什么,因为盲目做事情就像捡了一堆砖头而不知道干什么一样,会浪费自己的生命。第二个问题是需要多少努力才能够把这件事情做成,也就是需要捡多少砖头才能把房子造好。之后就要有足够的耐心,因为砖头不是一天就能捡够的。

  我生命中的三件事证明了这一思路的好处。第一件是我的高考,目标明确:要上大学,第一第二年我都没考上,我的砖头没有捡够,第三年我继续拼命捡砖头,终于进了北大;第二件是我背单词,目标明确:成为中国最好的英语词汇老师之一,于是我开始—个一个单词背,在背过的单词不断遗忘的痛苦中,我父亲捡砖头的形象总能浮现在我眼前,最后我终于背下了两三万个单词,成了一名不错的词汇老师;第三件事是我办培训机构,目标明确:要做成中国最好的培训机构之一,然后我就开始给学生上课,平均每天给学生上六到十个小时的课,很多老师倒下了或放弃了,我没有放弃,十几年如一日。每上一次课我就感觉多捡了一块砖头,梦想着把这栋房子建起来。到今天为止我还在努力着,并已经看到了这座房子能够建好的希望。

  长城如果拆开了,只不过是一堆散乱的砖头;日子如果过得没有目标,就只是几段散乱的岁月,但如果把一种努力凝聚到每一日,去实现一个梦想,散乱的日子就积成了生命的永恒。

—— 作者:俞敏洪,北京大学西语系毕业,1993年创办北京新东方学校,2003年成立新东方教育科技集团。现任新东方教育科技集团董事长兼总裁、民盟中央委员、民盟中央教育委员会副主任、全国青联常委、中国青年企业家协会副会长。2006年9月7日,新东方在纽约证券交易所成功上市,开创了中国民办教育发展的新模式,俞敏洪身价暴涨成为中国最富有的教师。

夏俊峰案二审辩护词

审判长,审判员:

作为夏俊峰的辩护人,我首先向被害者家属表示同情;不管夏俊峰有罪与否,两个公民的死亡总是让人非常遗憾的。我也将向法庭表明,两名城管和夏俊峰一样,都是城管制度的受害者,今天的法庭注定是一场没有赢家的战争。我们要极力避免的是一个悲剧引发新的悲剧,一个错误伴随着新的错误。

法律就是法律,我们不能把法律之外的个人情绪和政治压力等因素放在法律之上。依照诉讼法理以及刑事诉讼法第186条之规定,第二审程序审理的对象是一审判决是否正确。我要向法庭证明的是,一审判决认定夏俊峰构成故意杀人罪,定性错误、适用法律错误,控方指控的罪名根本不能成立;一审判决判处夏俊峰死刑,则是量刑错误,与相关法律规定相违背。

一、 一审判决认定夏俊峰构成故意杀人罪,属于定性错误。

1、案发之前夏俊峰并不认识两被害者,无冤无仇,该案的起因是2009年5月16日沈河区城管申凯、张旭东等十几人进行野蛮执法。

证人史春梅、张杰、贾子强、尚海涛、张忠文证明,“城管把人抓住,就抢煤气罐,(香肠竹签等)东西扔了一地。妻子不让扔,十几个城管围着夏某就开始打,夏求别打了也没放过,打得夏某来回倒,站也站不住。”夏俊峰的一只鞋被城管人员踩掉留在现场,在一审时已经作为证据提交并出示。夏俊峰的供述,“城管像土匪一样把锅碗瓢盆往地上扔,我们求饶,说今天周六,他们说‘别废话’,一城管打我后脑勺……”妻子张晶的证词也证明了夏俊峰被十几人推搡殴打。城管祖明辉的证词也承认,夏俊峰的煤气罐“被我们夺下来,放在货车上。”(卷三34页)

2、在野蛮执法之后,城管强行将夏俊峰拽上车,并带到办公室进行殴打。这样,被害者申凯、张旭东当时的行为就构成了非法拘禁罪。

证人史春梅、张杰、贾子强、尚海涛、张忠文证明,是城管人员强行将夏俊峰拽上车,而不是夏俊峰主动上车。夏俊峰的供述、妻子张晶的证词也证明了这一点。(2010年2月25日夏俊峰询问笔录:“三四个城管拽我到他们车里。我挣扎反抗,不想跟他们去。”)张伟的证词是“夏俊峰主动上车”,这与而张晶、尚海涛等5人的证词相矛盾,一审判决书对此没有任何解释。辩护人注意到,张伟的证言前后矛盾,不足采信。比如5月16日笔录,张伟提到夏俊峰刺了他一刀后又追他,但没追上。矛盾之处是:夏俊峰怎么可能追不上一个大腿已经受伤的人?又如,5月16日案发当天的笔录明白无误地说,“没看见”申凯和张旭东被谁刺伤(卷三17页);但一个多月后的6月22日笔录却说“夏俊峰背对着我,正在用到扎张旭东。”(卷三20页) 这显然不符合记忆规律,是在说谎。考察当时情境:城管野蛮执法,商贩避之唯恐不及,城管人多势众,不愿空手而归;夏俊峰在光天化日、众目睽睽之下仍被殴打,前去虎狼之地将会如何,可想而知。因此“主动上车”之说,只有城管人员的证词,其实只是城管人员的想象而已。

非法拘禁罪,是指以拘押、禁闭或者其他强制方法,非法剥夺他人人身自由的行为。行政处罚法第19条规定,限制人身自由的行政处罚只能有公安机关行使。行政执法沈河分局及城管人员当然无权限制公民人身自由,强行将夏俊峰拽上车并限制在办公室的行为,已经符合非法拘禁罪的全部构成要件。根据夏俊峰的多次陈述,秃头的城管人员先是辱骂他“你怎么那么能装B呢”,继而用拳头打他的头部,两人对夏俊峰拳打脚踢,秃头还拿桌子上的铁茶杯砸他。可见申凯、张旭东当时的行为不但构成非法拘禁罪,而且具有殴打辱骂情节,属于法定的加重处罚情节。《刑法》第238条:“非法拘禁他人或者以其他方法非法剥夺他人人身自由的,处三年以下有期徒刑、拘役、管制或者剥夺政治权利。具有殴打、侮辱情节的,从重处罚。”同时规定,国家机关工作人员利用职权犯非法拘禁罪的,从重处罚。

3、夏俊峰在被羁押时,就要求警官将其胳膊上被打的伤拍摄下来,这有力地证明了被城管殴打的现实。

夏俊峰在被抓到办公室之前并没有受伤,案发之后数小时后即被抓捕,刺伤只能是在城管办公室被殴打所致。据夏俊峰陈述,当时他的“两个胳膊都有伤,青一块紫一块。大腿根部有很大一块淤青。当时没照相。脖子、后背都有青紫,头上还有包,但都没照相。左耳朵二个月都一直耳鸣。当时只照了胳膊,法庭出示的两张照片就是。”夏俊峰被殴打至身体多处青紫,事件发生过程又仅有数分钟,说明夏俊峰被城管殴打而被逼自卫。但一审判决书对案卷中的、法庭出示的这两张照片竟然只字未提。对这么关键的证据避而不谈,说明一审审判机关已经丧失了起码的中立性。

4、从死者的伤口形态分析,当时张、申两人正在俯身对夏俊峰进行持续殴打。

死者申凯左胸和背部刺创,死者张旭东左胸部上方刺创,并且均有左上右下走行或右上左下走行的刺创。

首先,非要害部位的刀刺不符合故意杀人的特点,如果是故意杀人,在极短的时间内,不可能去刺扎无关紧要的部位。

其次,申凯身高1.82米,张旭东身高1.80米,而夏俊峰才1.65米,如果都是站立姿势,不可能在胸部以上形成左上右下走行或右上左下走行的刺创;当时夏俊峰为半跪姿势,右手持刀,只有向前上方和向左肩后乱捅,才能形成被害者胸部上方的左上右下走行或右上左下走行的刺创。这也表明夏俊峰被踢成半跪姿势后,申凯和张旭东仍未停止行凶,而是俯身继续对之进行殴打。

最后,夏俊峰身体矮小,张、申二人身材高大,权力、社会地位和经济地位差距悬殊,且在城管办公室被限制人身自由,夏俊峰主动殴打两名执法队员,绝不符合常理;只有突然而紧急的防卫,使张、申不及闪躲,才能解释张、申二人身上刀伤的部位、走向和次数。

5、夏俊峰进行防卫时所使用的小刀,并非事先准备;而且当时情境下用刀防卫,完全出于本能。

夏俊峰所用的刀是平时切肠用的,并非有预谋准备。他并非一开始就掏出刀,也不是突然想起身上有刀;他是被城管人员猛踢下身时,用手去捂痛处,才摸到了揣在兜里的小刀。完完全全出于防卫的本能,他才摸出刀来进行反抗。

6、夏俊峰的行为符合正当防卫的条件。

《中华人民共和国刑法》第20条:“为了使国家、公共利益、本人或者他人的人身、财产和其他合法权利免受正在进行的不法侵害,而采取的制止不法侵害的行为,对不法侵害人造成损害的,属于正当防卫,不负刑事责任。”对正在进行故意伤害、杀人、抢劫、强奸、绑架以及其他严重危及人身安全的暴力犯罪,采取防卫行为,造成不法侵害人伤亡的,不属于防卫过当,不负刑事责任。

根据夏俊峰的陈述,“到了执法队。陶冶先下车,开门。张旭东问:你农村还是市里的?我说:“这还有什么区别啊,摆摊的,都不容易。”刚进屋,后来又进来一辆车,下来一个人(后来知道他叫申凯),他进屋就骂我,开始打我,用拳头打在我脑袋和耳朵上,我就想往外跑,和申凯面对面了,马上张旭东就把我脖领子抓住了不让我跑,也打我,用拳头叮咣打,张旭东和申凯就把我夹中间了,张旭东用脚踢我大腿根部,特别痛,我右膝盖被踢跪地下了。我就去捂痛的地方,就摸到刀了。”

当时,夏俊峰被非法拘禁的状态在持续,被野蛮殴打的状态没有停止。在行凶者的非法侵害行为正在进行的过程中,夏俊峰被迫进行防卫,符合正当防卫的全部要件。

7、夏俊峰的防卫行为虽然造成两死一伤的后果,但并非防卫过当。

防卫过当是指正当防卫明显超过必要限度,给不法侵害人造成重大损害的行为。一般而言,在面临非法侵害时,如果用较缓和的手段能制止侵害时,就不要用激烈的防卫手段;当侵害行为已经被制止时,就不应再继续对侵害者进行伤害。而对“必要限度”的把握,必须结合当时的环境、体质、精神状态、可能的反抗手段乃至相关的社会背景等各种因素进行综合考量。在当时的情况下,夏俊峰处在被非法拘禁状态,两城管人高马大,除了拳打脚踢之外,还用了铁杯子等工具虐待夏俊峰,后面极可能有其他城管队员陆续进来,此时,除了用随身携带的摆摊用的小刀,没有任何其他的办法可以制止正在进行的不法侵害。夏俊峰说,在那种情况下,“任何人都会做出同样的反应”,这是最典型的正当防卫的心理状态。

根据夏俊峰当庭回答本辩护人的提问,他根本无法确定,自己被殴打何时结束以及会有何种结果。城管野蛮执法人所共知,城管打人事件几乎天天都有,而城管殴打公民致死的案件也不在少数。在互联网上Google“城管 野蛮执法”有261,000条结果,“城管 打死小贩”有602,000条结果,“城管 暴力 致死”有782,000 条结果。

2000年9月6日,四川眉山县城市管理监察大队管理中队郑光永、吴顺乾、驾驶员张卫东等人上街整治乱摆摊设点将杜某乱拳击伤,唐德明被甩下货车身亡。

2001年5月29日,宁夏灵武市城建局城市监察大队执法人员强行没收锅灶时,将杨文志打死,并打伤杨建荣夫妇等人。

2001年11月12日,因与市容执法人员发生争执,安徽宿州市个体工商户张福才在多名执法人员的推搡与踢打中身亡。

2002年1月18日,重庆市沙区城管人员在检查市容卫生过程中与沙区双碑村陈家连生产队的个体户余波发生争执,开执法车从余波腹部碾过致其死亡。

2002年11月18日,26岁的青年郭战卫在西安被莲湖区数名城管殴打致死,与他同行的一名跟车青年也被打成重伤。

2003年1月2日,广东潮州市庵埠镇一名三轮车夫在与几名城管人员争执中丧命。

2003年2月,西安市雁塔区城管在小寨兴善寺东街清理占道经营时,一工作人员竟将摆摊的孕妇金昌艳推倒在地,并在金的肚子上踩了两脚。后经医院检查,金昌艳腹中的胎儿不幸死亡。

2004年7月20日,广州天河区员村街道办城管人员在野蛮执法过程中将外来商贩李月明打死。

2005年7月20日,经营蔬菜的56岁江苏农妇林红英被城管人员打死。

2005年11月19日,江苏无锡城管打死小贩吴寿清。

2006年2月16日,上海市普陀区城市管理监察大队第九分队将上海市民李秉浩殴打致死。

2006年10月9日,广西来宾市象州县的一名流浪汉被喝醉酒的城管队队长覃宗权殴打致死。

2007年1月8日下午15时40分左右,山东济阳县经一路宏伟酒业经营部老板李光春被11名城管打死。

2008年1月7日,湖北天门竟陵镇湾坝村魏文华路过该市竟陵镇湾坝村时,发现城管执法人员与村民发生激烈冲突。他掏出手机录像时,被城管人员当场打死。

2008年7月30日,重庆市渝中区两路口综合执法大队的周某等4名执法人员在大田湾体育场附近将正经营的摊贩刘建平殴打致死。

2009年3月30日,江西萍乡市开发区横板村16组村民陈某被该区城管人员一、二十人群殴致死,事后家属抬着尸体封堵了境内320国道路段,抗议城管暴行,引发近万名群众围观。

2009年10月27日,昆明市福发社区城管分队在野蛮执法时与一三轮车夫潘怀发生冲突,并将其打死。

2010年6月1日,深圳城管与老太发生争执活活碾死老太.

与本案不无关系的是,死者之一申凯经常殴打商贩,在滨河派出所应有报案记录,比如,2008年7月份,一卖雨伞女商贩的胳膊被打骨折了。我们在庭前已经申请法院调查取证。但法院调查取证的范围小于辩护人申请取证的范围;而且即使没有查到报案记录,并不等于报案记录不存在;报案记录不存在,也不等于没有伤害商贩的事实。而沈河城管经常性的野蛮执法,即使没有本案商贩的证词,也是本地民众众所周知的事实。

不要以为这些和本案没有直接关系的事实真的与本案无关。这些事实(不管夏俊峰本人有没有清楚地了解全部城管暴行),在一个具体的案件里已经成为相关参与者的常识,或不言自明的社会认知或潜意识。这些社会事实已经深深嵌入行动者,成为行动者做出反应的理所当然的、无需思索的条件。从另一个方面说,城管把公民打残打死却受不到相应的刑罚制裁甚至完全没有任何制裁,这也是城管和商贩共知共享的“社会事实”。城管打人成本极低、具有殴打的动力,而夏俊峰则当时对伤害后果无法预期:被打死是完全可能的。

夏俊峰当时完全被打懵了,以至于他在防卫时失去了右手食指;以至于他完全不记得是否用刀捅了张伟,以至于发生了他完全没有料想到、也根本不希望发生的两死一伤的后果。在夏俊峰极为紧张的情形下,在极其短暂的时间内,要求他清晰地估计对自己的伤害后果、清楚地计算防卫行为的后果、明确地掌握防卫的分寸和尺度,这无疑是一种过分的苛求。我国新刑法将1979年刑法规定的“正当防卫超过必要限度”修改为“正当防卫明显超过必要限度”,“造成不应有的危害”改为“造成重大损害”,增加了无限防卫权的条款,从而降低了界定防卫过当的标准,扩大了正当防卫的范围。其立法主旨显然是为了鼓励公民勇于同不法侵害者作斗争,提高公民抵抗暴力犯罪的积极性。

8、判决认定夏俊峰具有杀人的主观故意和动机,缺乏证据支持,与事实不符。

前已表明,夏俊峰的主观心态是自卫,是在被非法拘禁、遭到非法侵害时想要制止暴力并尽快逃脱的心理。张、申两人被捅了几刀之后没有立刻死去、还能站立起来并说话,说明夏俊峰根本不想杀死他们。而耽误治疗造成死亡的可能原因之一。(一审提交的证据表明,从出事到送医院抢救用了19分钟,但从出事地点打车到463医院只需要5分钟,其中还等了一个红灯。根据城管祖明辉5月16日的证词,120迟迟未到,这耽误了最宝贵的抢救时间。)

本案证人城管队员曹阳称:“我出来看见申凯向勤务区的后门走,走到我身边就倒在我怀里说:‘我被炸串那小子扎了’之后就倒下了。这时我又看见张旭东用手捂着腹部站在办公室里,能有两秒钟左右,没说话就倒地了。”可见,夏俊峰刀刺自卫完毕后,张、申两人仍可以勉强步行或站立。也就是说,夏俊峰在两名城管仍可站立说话时已经逃离,并没有采取进一步伤害手段以确保剥夺其生命。因此,曹阳的证词也可以证明夏俊峰并无杀人之故意。

沈河城管人员在大庭广众之下,毫无顾忌地殴打夏俊峰,强抢其维持基本生存的用具,在夏俊峰爱人下跪求饶的情况下仍然毫无怜悯,谁能相信他们把夏俊峰强行带回城管办公室却能耐心而温柔地对他说服教育?夏俊峰在闹市区被打不还手、东西被抢不还手、在自己爱人苦苦求饶时不还手、在被拽上车时不动手、在下车后进办公室之前也不动手,却在进了办公室、失去了逃跑机会的时候,主动用刀伤害申凯和张旭东?一审判决认定夏俊峰具有杀人的故意,完全违反逻辑,不合情理。综合夏俊峰被抓、被打、被迫防卫的整个过程来看,根本不具有积极追求或放任被害者死亡的主观心态,其行为模式也与故意杀人的行为方式完全不同。

9、一审和二审庭审中,全部证人均未出庭,证人证言未经过当庭质证。

刑事诉讼法第47条规定,“证人证言必须在法庭上经过公诉人、被害人和被告人、辩护人双方讯问、质证,听取各方证人的证言并且经过查实以后,才能作为定案的根据。”刑事诉讼法司法解释第58条规定:“证据必须经过当庭出示、辨认、质证等法庭调查程序查证属实,否则不能作为定案的根据。”“对于出庭作证的证人,必须在法庭上经过公诉人、被害人和被告人、辩护人等双方询问、质证,其证言经过审查确实的,才能作为定案的根据;未出庭证人的证言宣读后经当庭查证属实的,可以作为定案的根据。”第141条:“证人应当出庭作证。符合下列情形,经人民法院准许的,证人可以不出庭作证:(一)未成年人;(二)庭审期间身患严重疾病或者行动极为不便的;(三)其证言对案件的审判不起直接决定作用的;(四)有其他原因的。”而陶冶、曹阳等关键证人不属于上述任何一种情况。

作为有重大影响的涉及公民生死的夏俊峰案,竟然没有任何证人、鉴定人出庭接受质证,这不仅反映出公诉人、合议庭的轻率,而且直接关系到本案的定性是否正确。张伟的证词前后矛盾,陶冶、曹阳的证词和张晶、史春梅、张杰、贾子强、尚海涛、张忠文的证词相矛盾。谁说真话谁说假话,经双方质证后自然可见分晓。证人不去面临挑战性的问题、不去回答合理的质疑、不让法庭观其颜色、听其气息、辨其言辞,如何能够排除人们心中的怀疑?如何让旁观者信服判决的公正性?

二、 一审判决夏俊峰死刑,属于量刑错误。

1、被害人有重大过错,不应该判死刑。

根据《中华人民共和国行政处罚法》第10条之规定,行政法规需要对法律已规定得行政处罚作出具体规定的,必须在法律规定的给予行政处罚的行为、种类和幅度的范围内规定。《行政处罚法》第8条,行政处罚种类只有警告、罚款、没收违法所得、没收非法财物;责令停产停业、暂扣或者吊销许可证、暂扣或者吊销执照、行政拘留。并没有所谓扣押和暂扣工具一类。沈河城管扣押夏俊峰的经营工具于法无据。

城管执法人员对夏俊峰进行行政处罚的原因是被告无照经营,可是城管事先并没有确认其身份,也就无法在行政处罚前得到其进行过工商登记的相关证据。城管人员当日也未询问夏俊峰是否进行过工商登记。根据行政处罚法,执法人员应首先向被告出示证件,告知给予行政处罚的事实、理由和依据,听取当事人的陈述、申辩,填写预定格式、编有号码的行政处罚决定书。因此当日城管执法程序存在严重瑕疵。

被害者先是野蛮执法,后是野蛮犯罪;非法拘禁于前,暴力伤害于后;滥权悖德在先,践踏法律在后。沈河区城管尤其是张、申二人的违法犯罪行为是本案的最重大的起因,被害人对其自身的死亡不仅有过错,而且有重大明显过错。被害人的过错或犯罪行为直接引起了矛盾的激化和夏俊峰的防卫反应。《全国法院维护农村稳定刑事审判工作座谈纪要》规定:“对于被害人一方有明显过错或对矛盾激化负有直接责任,或者被告人有法定从轻处罚情节的,一般不应判处死刑立即执行。”

2、夏俊峰有自首情节并如实坦白全部事实。

3、夏俊峰平时表现良好,没有犯罪记录。其邻居朋友的联保信已向法庭提交。

4、夏俊峰真诚悔过,向被害者家属表示道歉,并愿意积极承担民事赔偿责任。

5、由于属正当防卫,虽然造成两死一伤的后果,但夏俊峰的行为几乎没有社会危害性。相反,正当防卫应当受到法律的肯定和社会的表彰。

6、退一万步说,即使防卫过当,也应该免除或减轻处罚,处以缓刑或短期徒刑,这才符合刑法的规定。

《中华人民共和国刑法》第20条第2款:“正当防卫明显超过必要限度造成重大损害的,应当负刑事责任,但是应当减轻或者免除处罚。”防卫过当的情况下,防卫人主观恶性极小,社会危害性非常轻微。防卫过当由最初的正当防卫转化而来,而正当防卫的本质是社会的有益性,犯罪的本质是社会危害性。因防卫过当而构成犯罪,是非常轻微的犯罪。按照刑法,“应该”也就是“必须”而不是“可以”免除或减轻处罚;而且首先考虑“免除处罚”,实在不能“免除处罚”的,也必须“减轻处罚”。

即使夏俊峰因防卫过当而犯罪,那也绝非故意杀人罪。至于他因为防卫过当构成何种罪名,则不是辩方的事情,辩护人不能指控委托人。本辩护人今天要做的事情是证明控方指控的罪名不能成立。

三、 结辩:维护司法尊严,避免司法专横;慎重适用死刑,避免滥杀错杀。

本案的一审判决简单而蛮横,对控方证据照单全收,对辩方证据视而不见;对证据之矛盾未加解释,对无法解释的证据干脆不提;不但无法排除重大怀疑,而且把全部疑点之利益均归于控方。在这份死刑判决书的字里行间,可以看到法官比控方更积极;法官意图成为迫不及待的行刑者。不难看出,这份判决书是先有了结论,然后加以勉强的论证企图掩耳盗铃、瞒天过海。为了得出夏俊峰故意杀人的结论,竟超出检察院的指控:控方称“夏俊峰因故与被害人申凯、张旭东等人发生争执,遂持随身携带的尖刀先后猛刺被害人……”,而判决书认定“事态已经平息后被告人持刀行凶”。显然,“发生争执”不是“事态已经平息”,夏俊峰是因为“争执”而拔刀刺人的。法院没有也无法解释“事态已经平息”与检察院指控的“发生争执”的矛盾。

这份6500多字的判决书,“说理” 的部分只有400字,主要有如下两段:

“本案定性问题。经查,被告人夏俊峰持刀连刺被害人身体要害部位数刀,从凶器类型、刺击部位、力度、刺击次数均反映出被告人主观上具有故意杀人的主观故意,客观上造成被害人死亡结果的发生,其行为应以故意杀人罪定罪处罚。故对控方的意见予以支持,对辩方的意见不予采纳。”

“凶器类型”如何能反映出被告人有杀人的主观故意?欲置人死地者用切肠用的小短刀?“刺击部位、力度、刺击次数”如何能反映出被告人有杀人的主观故意?如何解释创口的方向?如何解释背部创口?如何解释夏俊峰离开时两城管并未当场死亡?刺击瞬间,三个人是何种姿势?为何是这种姿势?被刺第一刀时如何反应?为何有这种反应?被刺者人数、身高、心理、社会地位均占优势,为何能让夏俊峰得手?被害人死亡结果有无其他因素,比如耽误救治?

再如,判决书称,“辩护人所提被告人系遭殴打而进行防卫一节,经查,证人陶冶始终距案发地点仅数米,其证言未能证实存在殴打一节,此节只有被告人陈述,无其他证据证明,认定此节证据不足。故本案不具有防卫情节,被害人在案件起因上不存在重大过错。此争议问题对控方意见予以支持,对辩方意见不予采纳。”稍一分析,就可见其荒谬之处。

1、判决书对辩方有哪些证据支持夏俊峰遭城管殴打几乎不提,也完全没有引用其论争过程。

2、陶冶虽然距现场仅数米,但由于陶冶“把门关上,没听见什么声音”(卷三24页),他既没有看到夏俊峰扎人,也没有看到被害人打夏俊峰,这是很正常的,并不能因此否认被害人殴打了夏俊峰。按照判决书的逻辑,陶冶没看到夏俊峰用刀扎人,难道就否认了夏俊峰用刀扎人?

3、夏俊峰遭城管殴打并非“只有被告人陈述”,此节除夏俊峰本人的没有漏洞的完整陈述外,还有夏俊峰手臂受伤照片、被害人刀伤部位及方向、被踩掉的鞋底、张晶、史春梅、张杰、贾子强、尚海涛、张忠文等证人的证言等等,这些证据并非单独存在,而是能够互相印证夏俊峰被殴打的事实。

4、判决书认定“本案不具有防卫情节”,却没有解释杀人动机,更没有解释矮小的夏俊峰何以有能力以一对三,极短的时间内用小刀造成高大凶狠的城管队员两死一伤。

5、判决书认定“被害人在案件起因上不存在重大过错”, 不存在“重大”过错,就肯定不是“不存在任何过错”了,那么是什么样的“过错”?被害人何以有过错?这种过错和夏俊峰的刀刺行为有何关联?这种过错何以完全没有考虑在量刑当中,何以执意要判处夏俊峰死刑?一审判决书之专横粗暴可见一斑。

审判长、审判员:

1997年城管出现以来,弊端早已显现,所犯罪行累累,可谓民怨沸腾。迄今未有一部全国性的《城市管理法》或者行政法规,城管“执法”从来于法无据;执法缺乏统一性和规范性,领导机构缺失;法律监督缺位,僭越公安权力;城管队员法律身份不明,素质参差不齐,打手流氓混迹其中,借执法之名、行夺财谋私扰民害民之实,所在多有。在法律地位不清、权力制约不力的制度之下,城管人员的暴力习惯,也就成为城管制度的需要,成为这种制度的一部分。法外暴力用于补充规则之不足,用于弥补身份威信和法律威慑之不足,因此也就不再是个人化的;法外暴力既是变态的“城市管理”“城市形象”需要,也就必然是普遍存在的,得到居庙堂者的默许;法外暴力得不到民众和媒体的有效监督和法律的严肃制裁,也必然会滋长城管人员使用暴力的积极性。运用暴力而极少受到处分,这滋长了城管队员的阴暗心理,这被城管的作为“特权”和有身份、有面子的标志。法律和政治地位暧昧不清,势必用谋财、泄愤、与民争利来弥补。暴力一旦开始,就具有自身的惯性,在具体制度的纵容之下,在群体心理的传染之下,就会成瘾、成为习惯。我相信张旭东申凯在妻子或孩子面前,绝不会表现其人性的残忍和暴力的轻率,他们在家庭的场域之下遵循爱和良善的原则,而在城管集体执法的场域之下,则被施暴的欲望和激情所吞没。——尽管本辩护人为了夏俊峰的利益和本案的正确定性,必须指出申凯和张旭东当时行为的违法犯罪性质,但我对他们绝不仅仅是谴责。他们,是我的同胞,与我们一样生活在这个不完善的世界之中;他们,毫无疑问,是城管制度的受害者。我对他们抱有深切的同情;我能真切感受到他们家属失去亲人的哀痛;他们自身的和家庭的不幸,也是整个社会的不幸。

城管制度已经让两个家庭破碎了,我们难道非得让第三个家庭破碎吗?我们已经失去了申凯和张旭东两个公民,我们已经有几十个公民被城管打死,我们已经为野蛮的城管制度付出了沉痛的代价,难道我们非得用司法的公正性为城管体制的弊端和城管队员的野蛮背书?难道我们非得把司法当做城管的复仇之手,置夏俊峰于必死之地,让父母失去儿子、让妻子失去丈夫、让9岁的孩子永远失去父亲?

审判长、审判员:

在全球反对死刑的潮流之下,绝大多数国家已经立法或事实上废除了死刑,保留死刑的国家一般也只针对谋杀等最为严重的暴力犯罪。难道我们不但要把死刑适用于经济或非暴力犯罪,而且还要适用于防卫过当或者正当防卫的案件吗?因正当防卫被执行死刑,曹海鑫的悲剧成为河南司法史上洗刷不掉的耻辱,我们难道在21世纪的今天在辽宁重新上演这一悲剧吗?

两个公民的死亡是社会悲剧,但如果判处夏俊峰死刑,则是一个明显的巨大错误,是社会难以承受和接受的悲剧,中国司法也将长期笼罩在夏俊峰案的阴影之下。如果夏俊峰被判死刑,必将有更多无辜、无助的商贩死在城管手下;如果正当防卫而被判死刑,那么一个人在正当防卫之后,可以继续疯狂地杀人而不必承担更多的责任,因为一个人只能死一次;如果正当防卫而被判死刑,那将不再有罪与非罪、善与恶、生与死的界限,我们社会中本已非常可怜的规则的力量,也必将被邪恶、混乱和野蛮所摧毁。

不夸张地说,正当防卫的公民被判死刑,对整个社会的影响将是灾难性的——暴徒将更加气焰嚣张,公民面对非法暴力时的反抗必将畏首畏尾;邪恶将得到支持,受害者被暴力犯罪侵害之后,又再次受到法庭的侵害。面对非法侵害时的防卫行为不仅是美德而且是本能,但反抗行为非但不受到保护赞扬反而受到谴责甚至要被定为死罪,那么我们今天的判决所要伤害的,就不仅仅是夏俊峰的法定权利,而且将是整个法律的尊严、社会的伦理和民众的是非判断。

我希望今天法庭的判决,能够说明我们的司法体制还有起码的是非观和独立性;我们希望夏俊峰案的司法过程,能够让人们看到我们这个多难的民族,还能够从苦难中反思,并坚定地站在法治和人道主义这一边。

此致

辽宁省高级人民法院

辩护人:中国政法大学法学院 滕彪

2010年7月

innodb事务使用注意

$handler=mysql_connect(“localhost”,”root”,”");
$handler1=mysql_connect(“localhost”,”root”,”",true);
mysql_select_db(“test”,$handler);
mysql_select_db(“test”,$handler1);
mysql_query(“start transaction”,$handler);
mysql_query(“insert into innodb_test (id,value) values(’8′,’abcd’)”,$handler);
mysql_query(“insert into innodb_test (id,value) values(’9′,’abcd’)”,$handler1);
mysql_query(‘rollback’);
//mysql_query(“COMMIT”);// 执行事务
mysql_close($handler);
mysql_close($handler1);

查看结果,数据库里多id=9的记录,说明,回滚只是完成了,handler连接中的操作,handler1中的已经被提交了

solr索引服务使用(一)

Solr 是一个开源的企业级搜索服务器,是对lucene的服务封装,服务器通信使用标准的HTTP 和XML
Solr 主要特性有:
1.强大的全文检索功能
2.高亮显示检索结果
3.动态集群
4.文档数据库接口和电子文档(Word, PDF, PPT)的处理
5.高度的可扩展,支持分布搜索和索引的复制
6.支持函数查询,有dismax复杂处理器
7.spellcheck功能
8.faceted功能

记录下,我在centos 5下的安装过程
1安装jdk
检查服务器java版本,如果低于1.6,重新安装jdk
[root@localhost local]# java -version
java version “1.6.0_03″
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
安装完毕后,添加系统变量
vim /etc/profile
添加
export JAVA_HOME=/usr/local/java/jdk1.6.0_03
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

2.安装tomcat应用服务器
下载apache-tomcat-6.0.28.tar.gz
到/usr/local下
tar zxf apache-tomcat-6.0.28.tar.gz
mv apache-tomcat-6.0.28 tomcat
cd /usr/local/tomcat/bin
sh startup.sh

访问http://127.0.0.1:8080/
如果tomcat安装无误可以看到其欢迎页面
不行试试停下iptables /etc/rc.d/init.d/iptables stop

3.安装solr

复制solr dist目录下的apache-solr-1.4.1.war到tomcat的webapps目录下
cp –r dist/apache-solr-1.4.1.war /usr/local/tomcat/webapps/solr.war
如果tomcat在运行中,会自动识别新来的war文件,解压成为一个同名目录。

在/usr/local/tomcat/conf/Catalina/localhost目录下
新建一个solr.xml的文件,用来配置solr应用的根目录,solr.xml的内容如下


value="/usr/local/solr_root/example/multicore" override="true" />

1. 通过Java system property,属性的名称是:solr.solr.home。
2. 通过JNDI 将主目录的路径绑定到java:comp/env/solr/home。
3. 通过修改web.xml 位置在:src/web-app/web/WEB-INF,

solr/home
solr/
java.lang.String

其中,docBase指向tomcat下的solr.war,value指向solr的根目录
例如example下面的solr或者multicore目录,对于单个应用根目录下需要有conf,bin等目录

4.配置solr多核业务

5.使用中文分词器

php常见面试题

面试题经常可以分为,程序语言,项目解决方案,智力题等

小结下常见的php面试题(想到了再来更新)

1.单引号,双引号的区别,数组键值有单引号和没有的区别
2.echo,print的区别
3.foreach,for,while速度比较
4.传值与传引用的区别
5.常用的错误级别
6.php脚本获取参数的两种方式
7.魔法函数和SPL
8.说说ISAPI fastcgi CGI
9.php完成dom解析
10.谈谈mvc模式
11.如何得到脚本的运行时间和内存占用
12.php的gc机制

初试Tokyo Cabinet,Tokyo Tyrant(二)

Tokyo Tyrant数据库已经实现了Tokyo Cabinet的抽象API,所以可以在启动的时候指定数据库的配置类型。
命令通过下面的格式来使用,
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sidnum] [-mhost name] [-mport num] [-rts path] [-ext path] [-extpc name period] [-mask expr] [dbname]
参数说明
* -host name : 指明服务器的hostname或者ip地址。默认服务器的所有地址都会被绑定。
* -port num : 指定服务启动的端口. 默认1978
* -thnum num : 指定服务工作的线程数。默认8.
* -tout num : 指定每个会话的超时时间。默认永不超时。
* -dmn : 以守护进程方式运行。
* -pid path : 输出进程IP到指定的文件。
* -log path : 输出日志信息到指定文件。
* -ld : 日志中记录debug信息。
* -le :日志中只记录错误信息。
* -ulog path : 指定存放更新日志,用来备份恢复数据库,主从库之间的同步。
* -ulim num : 指定每个更新日志文件的大小限制.
* -sid num : 指定服务的ID号。主从复制的时候通过不同的ID号来识别。
* -mhost name : 指定主从复制模式下的主服务器的IP或域名。
* -mport num : 指定主从模式下主服务器的端口号.
* -rts path : 指定用于主从复制的时间戳存放文件.
dbname 制定数据库名,如果省略,则被视作内存hash数据库。
其他参数请参考 tt参数配置

数据库类型
下面我们再来看下数据库类型的详细配置。
数据库名的命名方式被Tokyo Cabinet的抽象API指定。
如果数据库名为”*”,表示内存hash数据库。
如果数据库名为”+”表示内存tree数据库。
如果数据库名为”.tch”,则数据库为hash数据库。
如果数据库名的后缀为”.tcb”,数据库将为B+ tree数据库。
如果数据库名的后缀为”.tcf”。则数据库将为fixed-length数据库。
如果数据库名的后缀为”.tct”,则数据将为一个table数据库(有表的概念),很多人都是看上了tt的这一点,希望还有一定的sql功能

数据库的调整参数通过数据库名的延伸来指定,通过”#”分开,每个参数通过一个参数名和值来指定,用”=”隔开。

    (1)内存hash数据库支持”bnum”, “capnum”, 和 “capsiz”
    (2)内存tree数据库支持”capnum” 和 “capsiz”

    capnum指定记录的最大容量
    capsiz指定最大的内存使用量(在内存数据库中),记录通过存储的顺序移除。
    bnum 指定bucket存储桶的数量。如果指定的数目不大于0,将会使用默认的数值131071.推荐数量应该在所有需要存储的记录总数的0.4-4倍

    (3)hash数据库支持”mode”, “bnum”, “apow”, “fpow”, “opts”, “rcnum”, 和 “xmsiz”.

    rcnum指定最大的缓存记录数。如果它不大于零,那么缓存记录不可用。默认不可用。
    xmsiz 指定外部内存的大小。如果不大于0,内存不可用。默认是67108864,即64M。
    apow 跟一个key关联的记录数,2的N次方表示. 如果不指定,默认2^4=16.
    fpow specifies the maximum number of elements of the free block pool by power of 2. 默认2^10=1024.
    opts 指定选项,位或:`HDBTLARGE’ 指定数据库的大小通过使用64位数组桶能够超过2G。
    `HDBTDEFLATE’ 指定每个记录被Deflate encoding压缩。
    `HDBTBZIP’ 指定每个记录被BZIP2 encoding压缩
    `HDBTTCBS’指定每个记录被 TCBS encoding压缩.

    (4)B+ tree数据库支持”mode”, “lmemb”, “nmemb”, “bnum”, “apow”, “fpow”, “opts”, “lcnum”, “ncnum”, 和 “xmsiz”.
    (5)Fixed-length 数据库 支持 “mode”, “width”, and “limsiz”.
    (6)Table 数据库支持 “mode”, “bnum”, “apow”, “fpow”, “opts”, “rcnum”, “lcnum”, “ncnum”, “xmsiz”, 和 “idx”

    “idx”指定表的索引。
    “mode”可以包含 “w” 写, “r” 读, “c” 创建, “t” 截断,”e” 无锁,和”f” 非阻塞锁。默认的的mod为”wc”。

优化性能
如果使用hash数据库我们可以指定#bnum=xxx来提高性能。xxx大于或等我我们的记录总数。
如果使用B+ tree数据库我们可以通过指定”#lcnum=xxx#bnum=yyy” 来提高性能.第一个参数指定被缓存的最大叶子节点数,受内存容量限制,第二个参数指定桶的数量,它应该大于总记录数的1/128.

初试Tokyo Cabinet,Tokyo Tyrant(一)

下载安装Tokyo Cabinet,存储部分

wget http://ncu.dl.sourceforge.net/project/tokyocabinet/tokyocabinet/1.4.31/tokyocabinet-1.4.31.tar.gz
tar -xf tokyocabinet-1.4.31.tar.gz
cd tokyocabinet-1.4.31
yum install zlib-devel
yum install bzip2-devel
./configure
make
make check (awesomely geeky text scrolls past for 10 mins)
make install (as root)

下载安装Tokyo Tyrant,接口部分

wget http://fallabs.com/tokyotyrant/tokyotyrant-1.1.41.tar.gz
tar -xf tokyotyrant-1.1.41.tar.gz
cd tokyotyrant-1.1.41
./configure
make
make install

安装
[root@www tokyotyrant-1.1.41]# make
LD_RUN_PATH=/lib:/usr/lib:/usr/local/lib:/root/lib:/usr/local/lib:/usr/local/lib:. gcc -g -O2 -std=c99 -Wall -fPIC -fsigned-char -O2 -o ttserver ttserver.o scrext.o -L. -L/usr/local/lib -L/root/lib -L/usr/local/lib -ltokyotyrant -ltokyocabinet -lbz2 -lz -lresolv -lnsl -ldl -lrt -lpthread -lm -lc
ttserver.o: In function `proc’:
/root/tt_src/tokyotyrant-1.1.41/ttserver.c:611: undefined reference to `tcadbsetskelmulti’
collect2: ld returned 1 exit status
make: *** [ttserver] Error 1

发现tokyotyrant的版本安装会报错,换更低一点的版本没有问题

ttserver
2010-10-18T18:42:11+08:00 ——— logging started [27292] ——–
2010-10-18T18:42:11+08:00 server configuration: host=(any) port=1978
2010-10-18T18:42:11+08:00 database configuration: name=*
2010-10-18T18:42:11+08:00 service started: 27292
2010-10-18T18:42:11+08:00 timer thread started
2010-10-18T18:42:11+08:00 worker thread 1 started
2010-10-18T18:42:11+08:00 worker thread 2 started
说明正确安装了

vim /etc/rc.local
在后面添加 ‘/usr/local/sbin/ttservctl start’,开机自启动
启动
ttservctl start
测试
You should now have a server running. To test it out, push a value into the store and then retrieve it using the HTTP interface:
curl -X PUT -d ‘first’ ‘http://localhost:1978/one’
curl ‘http://localhost:1978/one’

如果一切正常,说明OK了

参数配置和其他,请看下一篇,也可以参考这些

    http://www.eb163.com/club/thread-2470-1-1.html

    http://www.cnblogs.com/sunli/archive/2009/03/08/1406178.html

    http://willko.javaeye.com/blog/332982

    http://blog.s135.com/post/362

央视寓意

1.大楼说:央视新大楼充分说明,央视的新闻

姿态是下跪的;形式是扭曲的,内容是空洞的;表面是奢华的,立场是倾斜的;思路是混乱的

央视

2.三段论:

领导很忙,群众很幸福,国外人们生活在水深火热之中

使用curl post数据CURLOPT_POSTFIELDS字符串和array的不同

curl CURLOPT_POSTFIELDS,可以填入字符串,数组,@文件地址
今天用到这个,发现一个问题,如果使用array, Content-Type会被赋值为multipart/form-data
偶的中文手册上只有一句,The full data to post in a HTTP “POST” operation 还好在网上找到了这个,汗

CURLOPT_POSTFIELDS:
The full data to post in a HTTP “POST” operation. To post a file, prepend a filename with @ and use the full path. This can either be passed as a urlencoded string like ‘para1=val1&para2=val2&…’ or as an array with the field name as key and field data as value. If value is an array, the Content-Type header will be set to multipart/form-data.

所以,如果是post数据还是拼成串再发布,这样http的头才是正确的Content-Type和正常的表单提交是一样的,为application/x-www-form-urlencoded,虽然大部分情况下只是post数据,Content-Type不对也是没有问题的。
也测试了下通过CURLOPT_HTTPHEADER 设置 Content-Type也是不行的,还是multipart/form-data
看到这个哥们也详细提到过,php 使用 curl 发送 post 数据的问题

返回顶部