-
Python编码问题
今天Python一个编码问题,我的文件都是UTF-8的,我直接把那段字符串复制也没问题,就是从文件读出来有问题,错误信息:```pythonUnicodeDecodeError:'gbk'codeccan'tdecodebytesinposition221-222:illegalmultibytesequence```诶,想不通?为什么会报这个错误,当然解决办法是用`str()`函数处理一下。有时间在考虑这个问题了,没时间看动画片了。
Python 编码 -
Python腾讯微博上传图片
好吧下午弄完腾讯微博登录模拟,发送文章信息,我实在是等不及实现发送图片了,于是我挤了点时间,动画片都没看来把下面的写完。首先我们看一下图片上传时的信息:OK,我们假设已经处于登录状态了,发送图片微博和文字微博差不多,只不过上传图片和添加一下图片信息就可以了。在文字微博的参数加入图片信息如下:```jsonformdata={"content":msg,"pic":"",#上传图片获得的链接"countType":"","pgv_ref":"web.base.master.talkBox.btnApolloMyHome","apiType":"14",};```好了,最重要的就是上次图片操作,代码如下:```pythondefgetPicUrl(imgmsg):#读取图片连接ifimgmsg==None:returnNone;returnimgmsg.split(",")[1].split("{")[1].split("\"...
Python 模拟浏览器 文件上传 腾讯微博上传图片 -
Python模拟登录腾讯微博发送微博
前不久用Java模拟登录微信,今天我有心血来潮想刷一下图片微博,于是我就用Python写了一个登录腾讯微博刷微博的。本来可以用Java写的,但是几天没看Python差不多又忘了,于是还是用Python来写,主要是练练手。这里不得不说Python的`urllib`和`urllib2`这两个包实在是太强大了。首先我们要实现这个功能我们需要几步:1.登录微博;2.记住登录状态,也就是`cookie`的保存;3.发送微博;我们先来写第一个登录微博:先我们用浏览器可以很清楚的看到登录地址:```bashhttps://ssl.ptlogin2.qq.com/login?u=%s&verifycode=%s&p=%s&pt_rsa=0&ptredirect=1&u1=http%%3A%%2F%%2Ft.qq.com&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=9-101-1396061515832&js_ver=10073&js_type=1&login_sig=N7rJv...
Python 模拟浏览器登录 模拟登录腾讯微博 模拟发送腾讯微博 -
Google浏览器的正确使用方法
其实做网站这些事情,浏览器在我们的手中觉得不仅仅是展现网页那么简单。浏览器在我们手中那就是一个瑞士军刀,功能太多。现在我就介绍一些Google浏览器审查元素的强大用法,我只讲解一下一些简单的功能,更多强大功能,请参考后面的文章。其实火狐的审查元素也是很厉害,但是我很少用我就不描述了,基本一样。首先在网页右键我们可以看到审查元素,或者使用快捷键`Alt+Ctrl+J`或者`F12`打开控制台。这里是控制台,我主要描述`elements`和`network`的用法。`elements`就是浏览器的元素,找到元素后我们可以随意修改。在右侧有选定元素的CSS,我们把颜色修改为蓝色:;```>第一个是条件;>第二个参数是修改的内容;>第三个没有找到条件的项是否添加,默认false;>第四个参数是是否多个结果修改,默认false。如果没有使用参数的状况下,默认修改第一条。如果没有使用`$set`,那么将会替换里面所有的属性:使用了修改器,就会追加到最后:然后麻烦一点就是批量修改:如果是多个修改的时候我们需要设置修改器,否者会出错:```sqlmultiupdateonlyworkswith$operators```我们需要这么写:,然后进去修改权限,但是怎么也看不到`system`里面的`build.prop`文件。我着急啊,最后发现原来要在`mount`里面挂载你的`system`就可以了。大概流程我记录一下:*下载`adb`和`fastboot`等工具,自行Google。*下载对应版本的`twrprecovery`的`img`文件。*启动到`bootloader`(开机按住音量下键)*然后`fastbootflashrecovery`你的`twrp.img`。*最后重启手机到recovery模式。```bashfastbootflashrecoveryTWRP_U9508_v3.imgfastbootreboot#重启注意启动时按住音量上键进入recovery模式```*进入`twrp`后,挂载`system`,在`mount`里面勾选上`system`就可以了。*启动`cmd`,进入你的`adb`工具文件夹,执行以下...
build.prop -
MyEclipse字体优化
MyEclipse的字体其实很好看的,但是我们写到中文的时候就非常尴尬,字体很小看不清楚,但是字体调大后看起来有很别扭。这时候我们可以设置框里面的脚本选取中欧字符,这样中文就很好看了。Eclipse同样适用。**注:如果不知道字体在那里设置或者其他配置选项的,可以直接在上方的搜索框搜索“font”或者相应关键字。**
MyEclipse 字体优化 Eclipse -
监听器粗心小错误
本来我就是个粗心的人,丫的今天又上一当,自己配置了一个监听器用来启动时初始化一些数据和停服务器的时候用来统计数据的,结果死活启动时没有初始化。对比我以前的项目代码我都一样的,为什么?为什么?到底是为什么?结果让我吐血啊,原来我的代码是这样:```javapublicvoidcontextInitialized(ServletContextEventevent){Logger.writeInfo(this.getClass(),"系统启动。。。");Initializer.init();//开始初始化}publicvoidcontextDestroyed(ServletContextEventevent){Destroyer.destory();Logger.writeInfo(this.getClass(),"系统关闭。。。");}```注意上面代码的方法顺序,最新的那个我是用`Ctrl+1`生成的方法,然后悲剧的事情发生了。**自动生成的方法是按照方法名来排序的,也就是`destroy`方法在前面,我没看就直接理解为先是初始化方法再是销毁的方法了**,所以我把初始化代码写在销毁的方法里面肯定出是不行的了😂...
ServletContextListener 监听器 -
Python导入模块
学了几天Python了,用PyDev导入模块时总是出问题,搞定了,这里记录一下。导入代码如下:```pythonfromcc.first.firstimportman```我都是用工具自动提示的,Alt+/,我想导入没问题的,编辑器也没报错,当然我确实看不出哪里有问题。可是每次运行就报错:```pythonTraceback(mostrecentcalllast):File"E:\eclipse\helloworld\cc\first\skd.py",line12,infromcc.first.firstimportmanImportError:Nomodulenamedcc.first.first```**这里提示找不到`cc.first.first`,原来这里不要加上路径名字,直接`fromfirstimportman`就可以了**。当然这里我也有错误的地方,因为我这里的`cc.first`不是包,而是文件夹,所以会出错误。如果你要改成包,你要添加`__init__.py`到文件夹里面(每个文件夹里面都要有这个文件),改成包前面的就没有问题了。
Python 模块 PyDev -
Struts2通配符找不到ation
好久没有手动配置新项目了,因为以前我都是直接`/*`拦截的,现在改为`*.do`了,于是乎今天弄了半天Struts。贴一下大概的配置(web.xml):```xmlstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2*.do```struts.xml:```xml${target}.jsp${target}.html${target}${target}${target}.ftlresult```访问`xx/xx.do`,可是什么反应都没有,一直找不到action,于是我把`web.xml`的`*.do`改成`/*`,可以访问,于是我各种改啊。我一直以为是我的通配符有错误,google也找不到答案,最后就找了很久以前学习的时候的一个项目终于是让我找到了。**解决办法就是在struts.xml里面配置:**```xml```Done
Struts2 -
Python学习
今天看了看Python,感觉挺不错的,学一个脚本语言还是挺方便的。以后修改系统文件名什么的终于不用那么幸苦了,呵呵。我推荐现在已经学会了一门语言的开发者看看Python或者是Ruby学一个,语法简单,开发快。当然我推荐Python,语法看起来比较爽,如果你喜欢Ruby那一屏的美刀我也没辙。今天才开始不好写太多,以后慢慢补上。我的第一个例子:```python#coding:utf-8print"helloworld";```诶,各种碉堡了的语法和碉堡了的函数啊,虽然有很多很好用,但是感觉语法结构很随意啊。不过多行字符串输入的那个是个好东西,就是三个引号那种输入,要是Java有就好了,再也不用为长字符串输入转义而烦恼了。>20220521批注这么多年过去了,Java17开始终于正式支持多行文本了,也是三个引号😁😁😁
Python -
浏览器静态资源文件(CSS/JS/图片)不能正常加载
今天遇到了一个重来没有遇到的问题,浏览器控制台提示:```ResourceinterpretedasStylesheetbuttransferredwithMIMEtypetext/html:"http://www.xxxx.com/index.css".```诶,类型不对也不可能啊,服务器类型都没问题,同事的电脑访问都正常,直接敲地址也能访问。```Content-Type:text/html;charset=gb2312```控制台的类型是这个,确实不对啊,浏览器问题,换浏览器还是一样。什么问题呢?刚好同事提醒是不是安全卫士的问题,于是我关了TX电脑管家,果断正常了。这我就纳闷了,这怎么拦截我的CSS?不科学啊。原来我昨天启用了腾讯管家的广告拦截那个插件,TX这也太没有技术含量了,这也能当成广告过滤,不过应了那句话自作孽啊。还有一些浏览器:猎豹、360很多都自带广告拦截的,不知道有没有人也踩过坑了。
浏览器 静态资源 -
PostgreSQL数据库Hibernate使用数据库函数问题
今天我使用`Hibernate`的`SQLQuery`进行`sum`求和的时候,查询结果返回的是一个`Object`数组对象,但是查询回来的结果的值是一样的。下面是我的SQL:```sqlselectsum(pv),sum(uv)fromtb_orderwhereid=1;```数据库查询的结果:确实是两个不同的值,但是为什么会一样呢?其实仔细观察可以发现结果的**两个列的名称是一样的**,然后我把SQL改成:```sqlselectsum(pv)aspv,sum(uv)asuvfromtb_orderwhereid=1;```改成这样后,列名不一样了,果断`Hibernate`的结果也对了。**这个问题暂时只在使用PostgreSQL数据库中发现,MySQL的列名就是`sum(pv)`和`sum(uv)`所以不会出现该问题,其他数据库自测**。
PostgreSQL Hibernate SQL函数 -
Resin域名配置
Resin多域名配置:*二级域名或者多个域名配置不同项目```xmlwww.acgist.comarticle.acgist.com```*同一个项目多个域名```xmlwww.acgist.comarticle.acgist.com```*使用正则表达式```xml(.*).acgist.com```
Resin 域名配置 -
JS和CSS在网站中路径的区别
最近也是把网站的静态资源重新做了一下,图片等等静态资源使用独立的域名,这样可以避免一些不必要的`cookie`,其实小网站没什么作用的(其实我做这个只是玩玩而已)。但是对于淘宝,百度等等大型网站应该都是做了的,每个`cookie`算`1KB`,那如果一个网站一天被请求`1KW`次,每次10个静态资源,那么相当于占用了10G的数据流量,而且这些事完全没有必要的,所以这个还是可以研究一下的,这个详情请Google一下`cookie-free`。好了,进入正题,我们网站基本都是使用相对路径来引入一些资源的,比如CSS引入背景图片是这样:```cssbackground-image:url("/img/bg.gif")```导入CSS时标签:```html```那么引入这个图片的路径将是:**http://static.acgist.com/img/bg.gif**用JS插入了一张图片标签:```html```导入JS时标签:```html```这时候导入的图片路径:**http://www.acgist.com/img/bg.gif**>www.acgist.com是引入JS的页面地址这样对比可以看出来,当我...
JS CSS 路径 -
好用实用的在线工具
##中文域名转码[http://www.dreamspeed.org](http://www.dreamspeed.org)现在很多中文的域名,有时候需要知道对应的英文域名就可以使用这个工具。##JSON工具[http://www.bejson.com](http://www.bejson.com)可以校验格式,与xml转换等等很多功能。##CSS/JS压缩[http://tool.oschina.net/jscompress](http://tool.oschina.net/jscompress)对CSS/JS进行压缩,[http://tool.oschina.net](http://tool.oschina.net)这里还有其他很多工具。##网站整理检测优化[http://www.alibench.com/](http://www.alibench.com/)非常全面的检测网站并提出优化建议,百度分享的页面检测差不多。但是百度的工具总是有些检测有问题,比如开启了静态缓存有时候却检测不出来,有时候有能够检测出来。还有Google的GooglePageSpeedInsights也挺不错的。不过阿里测有时候老提...
网站工具 网络工具 -
Struts2不拦截部分请求
我配置Struts的时候喜欢用`/*`这样有一些不想要被拦截的请求就被拦截了。比如一些验证码和图片上传的`servlet`,`WebSocket`都被拦截导致出现一些问题。幸好Struts提供了`struts.action.excludePattern*`这个配置可以是这些请求不被拦截。这个其实Google一下就可以了,我主要说两个注意的地方:*URL匹配不是像`web.xml`那种`url`匹配的,**使用的是正则表达式匹配**。*配置多个请求的时候,使用逗号分隔。开始我以为是每个都配置一个,所以配置了四个,但是发现第三个总是被Struts拦截,后来改成逗号分隔后就好了。
Struts2 excludePattern struts.xml -
kindeditor加载内容问题
一开始没怎么注意这个问题,今天发现含有标签的内容,加载的时候怎么就过滤了标签的内容。比如`List`,保存没有问题,但是加载的时候就不见了。我想都转义了,源代码里面都是`<`和`≷`了,怎么还是过滤了,所以我以为这是一个`BUG`,但是想了想这么明显不可能没有修复。于是就怀疑我的加载方式不对,后来发现果然是因为我的“打开方式”不对。我一直都是直接`textarea`标签中间插入加载内容的,然后改为使用编辑器提供的`html(value)`方法就没有问题了。
kindeditor -
使用HttpClient模拟浏览器
最近研究一下某个软件的接口,不得不使用一下模拟浏览器去对接,于是今天我就研究了一下。如何模拟浏览器?一般的HTTP请求还简单,关键是要模拟登录需要记住`session`等信息比较麻烦了。幸好`apache`提供了一个工具包,其实很多人也用过这个,就是`HttpClient`。>区分以下`commons-httpclient`,这是旧版依赖,官方推荐`HttpClient`。例子:```javaHttpClientclient=newDefaultHttpClient();HttpPostpost=newHttpPost("http://xxxx");post.addHeader("xxxx","xxxx");//添加一些请求头部//参数Listnvps=newArrayList();nvps.add(newBasicNameValuePair("xxxx","xxxx"));post.setEntity(newUrlEncodedFormEntity(nvps));HttpResponseresponse=client.execute(post);//执行请求//读取返回内容BufferedReader...
HttpClient 模拟浏览器