有时,爱情能穿越宏大的沧桑抵达幸福,却穿越不了宁静的琐细。

技术文档

技术文档

微信公众平台高级群发接口问题处理

微信公众平台高级群发接口问题处理

2015-01-10 2015-01-10 11570浏览 0评论 简洁版

1.问题描述

开发微信公众号的群发功能时,需要先上传图文消息素材,其POST数据格式类似于:

{
"articles": [
     {
        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
        "author":"xxx",
         "title":"Happy Day",
         "content_source_url":"www.qq.com",
         "content":"content",
         "digest":"digest",
        "show_cover_pic":"1"
     },
     {
        "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
        "author":"xxx",
         "title":"Happy Day",
         "content_source_url":"www.qq.com",
         "content":"content",
         "digest":"digest",
        "show_cover_pic":"0"
     }
]
}

但碰到一个比较奇怪的问题,POST提交的数据若不经过编码处理,即使用代码为:

......
$article['content'] = $post_content;
......
$request    = array('articles'=>$articles);
$articles=json_encode($request);

群发的内容内包含中文时就会出现乱码,但多图文的条目是对的,如下图。

阅读更多...

微博内容字数统计函数(PHP版)

微博内容字数统计函数(PHP版)

2014-09-27 2014-09-27 13340浏览 1评论 简洁版

最近在做一个项目,其中一部分的内容就是文章内容跟微博的同步,即在发布文章时,同步更新到微博。

需要解决的问题之一就是判断文章内容的长度,因为微博(包括新浪微博和腾讯微博)都有字数限制,不能超过140字,如果超过了,就会发布失败。

但微博的字数统计方法又有点特殊,其将中文字符作为一个长度,英文、数字、标点符号等两个为一个长度。PHP中常用的字数统计函数有strlen和mb_strlen等,在strlen函数中,统计得到的是字符串所占的字节数,其对待一个UTF8编码的中文字符是3个字节的长度,对于GB2312的中文编码,得到的则是2个字节长度,英文则是一个字节的长度;而在mb_strlen函数中,中英文都会被计算为一字节的长度。因此,使用PHP自带的函数进行微博内容字数统计,显然会造成统计结果错误。

解决方案

阅读更多...

GNU Bash 漏洞及修补方法

GNU Bash 漏洞及修补方法

2014-09-27 2014-09-27 10621浏览 0评论 简洁版

GNU Bash漏洞 CVE ID:CVE-2014-6271,CVE-2014-7169

漏洞相关信息:https://access.redhat.com/security/cve/CVE-2014-6271

漏洞详细信息及检测方法,参见:https://access.redhat.com/articles/1200223

漏洞描述

CVE-2014-6271

攻击者可构造特殊的环境变量值,以在这些环境变量的值中包含特定的代码,当 Shell 对这些环境变量求值时,这些特定的代码将得以在系统中执行。某些服务和应用接受未经身份者提供的环境变量,因此攻击者可利用此漏洞源于在提供这些服务和应用的系统上执行任意的 Shell 命令。

enter image description here

阅读更多...

在VMWare中添加USB设备

在VMWare中添加USB设备

2014-05-31 2014-05-31 7038浏览 0评论 简洁版

需求

因为一些系统的需要,经常要使用类似加密狗的工具。在使用虚拟机的时候,这种情况就比较讨厌了,因为刀片服务器的USB接口总是有限的(一般也就一两个)。

在前期购买了一套USB Server的工具,可以实现网络USB设备共享,但该设备不支持Linux系统。于是对于Linux系统下面的加密狗,只能直接插在刀片服务器的USB接口中,然后在VMWare中进行加载了。

具体步骤

  1. 先添加USB控制器;

enter image description here

阅读更多...

VPN 错误789解决办法

VPN 错误789解决办法

2014-01-06 2014-01-06 16020浏览 1评论 简洁版

Windows配置VPN,选择使用IPsec的第2层隧道协议(L2TP/IPSec)时,在进行连接时,Win XP系统肯定会报错,Win7系统正常,Win8系统大部分情况报错,有时正常。

提示的错误信息为:

错误789:l2tp 连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到一个处理错误

解决方法

修改注册表来实现

  1. 单击“开始”,单击“运行”,键入“regedit”,

阅读更多...

Linux下多路径使用及大容量硬盘挂载

Linux下多路径使用及大容量硬盘挂载

2013-12-26 最后修改:2014-05-9 03:59 15170浏览 0评论 简洁版

一、应用环境及需求

  1. 刀片服务器通过光纤交换机连接HP存储,形成了一个2X2的链路。
  2. 操作系统为CentOS 6.4 64位
  3. 挂载的存储容量为2.5T

基于此应用环境,需要解决两个问题:

  1. 为保证链路的稳定性及传输性能等,可以使用多路径技术;
  2. 挂载的存储硬盘超过了2T,MBR分区格式不能支持,需要使用到GPT分区格式

因为CentOS 6.4中已经自带了HP存储的驱动,会自动识别出挂载的存储硬盘,否则的话,需要先安装存储驱动

二、什么是多路径

摘自:http://rootking.blog.51cto.com/2619611/476212

阅读更多...

HP BL460c中启用 VT

HP BL460c中启用 VT

2013-12-25 2013-12-25 7663浏览 0评论 简洁版

在一台比较老的HP刀片服务器HP BL460c上面安装VMware ESX Server后,新建一台64位的虚拟机,启动后报错:

打开虚拟机电源新建虚拟机主机CPU与虚拟机在CPUID 级别0x80000001寄存器“edx”处的要求不兼容。 主机位:0000:-0000:0000:-0000:0000:-1000:0000:-0000所需位:xx1x:xx-xx:xxxx:xx-xx:xxxx:xx-xx:xxxx:xx-xx 检测到以下特征不匹配: * 长模式;为64 位客户机操作系统配置虚拟机时需要。对于带有 Intel CPU 的系统,长模式支持要求在BIOS 中启用 VT。 对于 NX/XD或长模式以外的不兼容性:如果可能,请使用已启用增强型 vMotion 兼容性(EVC) 的群集;请参见知识库文章1003212。 在无法启用EVC 的情况下,请参见知识库文章1993。

启动虚拟机2003主机 CPU 与虚拟机在 CPUID 级别 0x80000001 寄存器“edx”处的要求不兼容。主机位: 0000:0000:0001:00-00:0000:1000:0000:0000 所需位: xx1x:xxxx:xxxx:xxxx:xxxx:xx-xx:xxxx:xxxx 检测到以下特征不匹配: * 长模式; 为 64 位客户机 操作系统配置虚拟机时需要。 注意: 对于带有 Intel CPU 的系统,长模式支持要求在 BIOS 中启用 VT。

按照提示要求需要在BIOS中启动VT,即启用虚拟化支持,步骤如下:

  1. 进入BIOS,选择“Advanced Options”;

enter image description here

阅读更多...

基于Sublime Text搭建Python IDE

基于Sublime Text搭建Python IDE

2013-11-23 2013-11-23 50817浏览 5评论 简洁版

1. 问题

最近在使用Sublime Text 2写Python代码的时候,发现了两个小问题:

  • 代码中如果使用了input等函数进行交互的时候,直接使用Ctrl+B进行编译时,运行信息栏内无法输入交互信息,程序会提示报错。
  • 在Win 8.1下面,使用Ctrl+B进行编译时,运行信息栏内不显示编译信息,一片空白(这个不知道是否属于个例、设置错误还是bug之类的)

2. 安装的插件

SublimeREPL

针对上面的两个问题,我找到了SublimeREPL插件,可以用于运行和调试一些需要交互的程序,同时在Win 7和Win 8.1下面都能正常工作。

比较棒的是这个插件可以支持多种语言,而对于Python也支持多种运行模式,我比较常用到的是PythonPython - RUN current file

SublimeREPL

阅读更多...