10月
30
有几个前提
添加到ie的可信站点区域
不能是基于session的cookie
注意url的路径,有些cookie下发是带路径的,获取时不带路径获取不到
#调用时要注意,url最后要有/ 否则某些带路径的cookie获取不到
#获取cookie调用
httpOnlyCookie =GetCookieInternal(New Uri("http://192.168.0.1:10051/web/"), True)
<SuppressUnmanagedCodeSecurity, SecurityCritical, DllImport("wininet.dll", EntryPoint:="InternetGetCookieExW", SetLastError:=True, CharSet:=CharSet.Unicode, ExactSpelling:=True)>
Friend Shared Function InternetGetCookieEx(<[In]> Url As String, <[In]> cookieName As String, <Out> cookieData As StringBuilder, <[In], Out> ByRef pchCookieData As UInteger, flags
…
10月
08
去掉bom的perl脚本
#!/usr/bin/perl
@file=;
$file[0] =~ s/^\xEF\xBB\xBF//;
print(@file);
转换编码的iconv命令
下载地址
http://gnuwin32.sourceforge.net/packages/libiconv.htm
还需要这个,否则会报少dll文件
http://downloads.sourceforge.net/project/gnuwin32/make/3.81/make-3.81-dep.zip?r=http%3A%2F%2Fgnuwin32.sourceforge.net%2Fpackages%2Fmake.htm&ts=1295607625&use_mirror=surfnet
把make-3.81-dep.zip中bin目录里的libintl3.dll拷贝到iconv.exe所在目录下
#查看支持的编码
iconv -l
#转换编码
iconv -f utf-8 -t gbk utf8.csv.rbom gbk.csv
完整的命令
removebom.pl utf8bom.csv utf8.csv.rbom && iconv -f utf-8 -t gbk utf8.csv.rbom gbk.csv
…
8月
05
一般操作excel 有两种方式,
一种是画好表格了,填固定的空,这种情况直接找到格子,填入就行了
另外一种是只画好表头了,但实际表内容的行数是不固定的,需要程序根据数据的实际行数来添加行。
这种加行在 XSSF模式下,直接写入单元格会报错。要先加行,再加单元格,再写入,才可以。
public class ExcelUtil {
private XSSFWorkbook wb = null;
public void OpenXLSXFile(String FilePath) throws IOException {
InputStream ExcelFileToRead = new FileInputStream(FilePath);
wb = new XSSFWorkbook(ExcelFileToRead);
}
public void CreateRow(String SheetName, int rownum) {
Sheet
…
8月
05
1 问题
由于网络架构升级,原有http直接访问java 容器(jboss),变成https 访问haproxy 由haproxy 通过http再调用 java 容器。
实际测试发现一个问题,之前项目中使用response.sendRedirect("http://aaa.aaa/aaa");这种方式设置绝对路径跳转的,通过https代理到https访问后都无法访问了,因为jboss访问是http,因此应用拼接的绝对路径也是http的。
2 分析
尝试解决,将绝对路径改为相对路径response.sendRedirect("/aaa"),发现没有效果,抓包看http应答的hearder location还是发送了绝对路径http://aaa.aaa/aaa。
搜索发现原因是由于旧版的http1.1协议不允许location头使用相对路径,因此容器在实现response.sendRedirect时自动做了补全绝对路径。
详见:
Can a redirect to relative path be sent from Java Servlet API?
https://stackoverflow.com/questions/30844807/can-a-redirect-to-relative-path-be-sent-from-java-servlet-api
原因是http1.1必须是一个完整的uri,但在rfc 7231更新时已经允许相对url了
An obsolete version of the HTTP 1.1 …
7月
26
我要在腾讯云申请亚信的免费证书,把验证文件直接放到了jboss 的welcome-content目录,但是亚信验证时报应答没有Content type,搜了一下说welcome-content的静态资源是没有Content type的,要换一种方式,用应用发布的方式来发布静态资源就正常了。
如下
-
停止jboss服务
-
修改配置文件stanalone.xml,将 enable-welcome-root 改为 false
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<configuration>
<mime-mapping name="manifest" value="text/xml"/>
</configuration>
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost"/>
</virtual-server>
</subsystem>
-
在应用发布目录 创建一个 ROOT.war 文件夹
然后照如下创建子目录和jboss-web.xml文件
ROOT.war
ROOT.war/WEB-INF
ROOT.war/WEB-INF/jboss-web.xml
编辑jboss-web.xml
…
4月
21
开机自动登录
运行 Control UserPasswords2
用户账号-勾选“要使用本计算机,用户必须输入用户名和密码”,确定
然后在来一遍把刚才的勾去掉。会弹出输入密码的框,输入用户名密码即可。
开机自动运行程序
运行 shell:startup
会打开开始菜单-启动文件夹,把程序的快捷方式拖进去即可
定时自动重启
步骤1
新建一个 restart.bat 批处理文件
填入下面的命令
shutdown -r -f -t 20
保存
步骤2
打开控制面板 搜索 计划任务
创建基本任务
随便起个名字
选每天运行
设置每天执行的时间
任务操作选启动程序
点浏览-选刚新建的 restart.bat
下一步
完成
即可
参考
Windows系统通过计划任务设置定时重启
https://help.aliyun.com/knowledge_detail/40818.html…
4月
14
查看占内存最多的进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -50
也可以top -c 然后按shift+m 看
修改宝塔自带的php-fpm配置
cd /www/server/php/56/etc/
cp php-fpm.conf php-fpm.conf.bk
vi php-fpm.conf
把这几个配置改小,主要是pm.max_children 最大进程数,不要太多,一个进程占50-60m内存
pm.max_children = 15
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
保存退出
重启php-fpm
/etc/init.d/php-fpm-56 restart
好啦
参考
…
3月
11
参考 sf的解答
https://stackoverflow.com/questions/1237286/how-can-i-compile-my-perl-script-so-it-can-be-executed-on-systems-without-perl-i
我是用的 Strawberry Perl
cpan -i PAR::Packer
就装好了
然后用pp编译即可
pp -o example.exe example.pl…
12月
24
超时设置
ftp = new FTPClient();
ftp.setDefaultTimeout(defaultTimeoutSecond * 1000);
ftp.setConnectTimeout(connectTimeoutSecond * 1000);
ftp.setDataTimeout(dataTimeoutSecond * 1000);
兼容windows iis ftp
public FTPClientConfig getFTPClientConfig() {
String systemKey;
if (isWinFtp) {
systemKey = FTPClientConfig.SYST_NT;
} else {
systemKey = FTPClientConfig.SYST_UNIX;
}
// String systemKey =
…
12月
23
笔记本有有线和无线两个网卡,其中无线网卡是dhcp自动获得ip和dns设置,用来连接外网的,但我想通过有线网卡设置的内网dns服务器来进行dns解析。
可以通过调整网络服务访问网卡优先顺序来实现,如下:
调整网卡优先级
打开控制面板,依次进入“网络和Internet连接->网络和共享中心->管理网络连接”,打开网络连接窗口。按下Alt键,待该窗口上出现菜单栏后依次点击“高级/高级设置”,打开高级设置窗口。在“连接”列表中,需要使用的dns服务器设置所在的网卡挪到其他网卡上面。
通过nslookup 命令可以确认当前使用的dns服务器ip
刷新dns缓存
立刻生效还需要刷新windows系统的dns缓存
#查看
ipconfig /flushdns
#刷新
ipconfig /displaydns
其他
另外浏览器如chrome还有dns缓存,直接关掉重开就好了。
参考
多网卡使用优先顺序
http://kms.lenovots.com/kb/article.php?id=12300
Vista/Win7以上系统查看和清除本地DNS缓存新方法
https://www.cnblogs.com/yryz/archive/2012/02/13/2299756.html…