fwrite 和file_put_contents谁更快?
Php/Js/Shell/Go jackxiang 2013-9-27 13:27
fwrite 和file_put_contents谁更快? LOCK_EX阅读全文
qnx操作系统善于自动化控制,如汽车,手机等微型实时操作系统。
Unix/LinuxC技术 jackxiang 2013-9-27 10:31
Migrating from php(LEMP) to Golang in large scale
Unix/LinuxC技术 jackxiang 2013-9-25 13:40
https://bitbucket.org/PinIdea/fcgi_ext/
老外点评:
该用法有点意思,不过是特定场景下的应用:
有点像分布式事务
规避php的高资源消耗
原先的php代码中需要访问solr获得搜索结果,然后回传nginx
但是solr不稳定,或者说获得结果的时间比较长,不确定
这样php代码必须得持有很多资源等待结果
所以导致系统负载很大
改进方案就是在nginx和php之间增加golang的deamon程序
让golang去等待搜索结果
得到结果后,扔给后方的php,再回传nginx
所以golang等待的时候,就不会持有那么多资源
老外点评:
该用法有点意思,不过是特定场景下的应用:
有点像分布式事务
规避php的高资源消耗
原先的php代码中需要访问solr获得搜索结果,然后回传nginx
但是solr不稳定,或者说获得结果的时间比较长,不确定
这样php代码必须得持有很多资源等待结果
所以导致系统负载很大
改进方案就是在nginx和php之间增加golang的deamon程序
让golang去等待搜索结果
得到结果后,扔给后方的php,再回传nginx
所以golang等待的时候,就不会持有那么多资源
背景:当今手机是盈利程序较高,模式最全的商业赚钱模式,而这些东西有一些新的名词,协处理这种观念,我觉得对用户来说就是省电,没有什么必要大加宣传。
今天智能手机 CPU 越来越快的同时,耗电也越来越多。而另一方面,我们的智能手机上有一大票传感器: GPS ,光线,罗盘,加速度等等。
每次操作这些传感器都要通过 CPU 就很蛋疼。尤其是长时间频繁操作的时侯,耗电会变得很可观。
可是,如果这些传感器如果能长时间打开,应用就会变得非常有趣:
Nike+ 会记录你的跑步距离。
Path 可以猜测你是否飞到了另一个城市。
导航软件就不用说了。
使用温度和气压传感器,手机甚至可以在出门闹铃响起的时侯提醒你带伞。
或者,系统可以在你进入百货商店的时侯过滤 Shopping List 。
Sensor Hub 技术可以帮你做到让所有这些传感器长开,又不怎么耗电。 Galaxy S4 Sensor Hub 的协处理器芯片的功耗,仅仅为 CPU 的 2% 。
摘自:http://baodian.zol.com.cn/detail_29375.html
今天智能手机 CPU 越来越快的同时,耗电也越来越多。而另一方面,我们的智能手机上有一大票传感器: GPS ,光线,罗盘,加速度等等。
每次操作这些传感器都要通过 CPU 就很蛋疼。尤其是长时间频繁操作的时侯,耗电会变得很可观。
可是,如果这些传感器如果能长时间打开,应用就会变得非常有趣:
Nike+ 会记录你的跑步距离。
Path 可以猜测你是否飞到了另一个城市。
导航软件就不用说了。
使用温度和气压传感器,手机甚至可以在出门闹铃响起的时侯提醒你带伞。
或者,系统可以在你进入百货商店的时侯过滤 Shopping List 。
Sensor Hub 技术可以帮你做到让所有这些传感器长开,又不怎么耗电。 Galaxy S4 Sensor Hub 的协处理器芯片的功耗,仅仅为 CPU 的 2% 。
摘自:http://baodian.zol.com.cn/detail_29375.html
vim回到上次光标位置
Unix/LinuxC技术 jackxiang 2013-9-22 11:02
每次vim 一个文件,光标都在最上面的位置,不是上次我编辑的位置了..
进入vim后键入:
'0
即回到当初你编辑的位置
ctrl + o 回到光标回到上次位置
ctrl+i,ctrl+o跳转位置,完全没看手册啊
try Ctrl+ o
配合ctrl + ] 阅读代码时尤其便捷
——————————————————————
PS: 如果想把光标停止在指定的行, 这样
vim +n urfile // n为行号
如果要停留在行尾, 这样
vim + urfile
来自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1024941&page=1
http://blog.longwin.com.tw/2012/09/vim-last-read-line-2012/
http://bbs.chinaunix.net/thread-1271757-1-1.html
vim-重新打开回到上次所编辑文件的位置:
应用场景:
在每次退出一份文件后再重新打开该文件时,希望光标停留在当时退出的地方;也就是说当我程序写到hello.c的第100列时突然有事必须关电脑了,那在我下次打开电脑以vim打开hello.c, 希望光标还是停留在第100列,怎么办?
解决方案就是在.vimrc里面加上这一行即可:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
google大神的礼物:
http://bbs.chinaunix.net/viewthread.php?tid=1024941&page=1
进入vim后键入:
'0
即回到当初你编辑的位置
ctrl + o 回到光标回到上次位置
ctrl+i,ctrl+o跳转位置,完全没看手册啊
try Ctrl+ o
配合ctrl + ] 阅读代码时尤其便捷
——————————————————————
PS: 如果想把光标停止在指定的行, 这样
vim +n urfile // n为行号
如果要停留在行尾, 这样
vim + urfile
来自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1024941&page=1
http://blog.longwin.com.tw/2012/09/vim-last-read-line-2012/
http://bbs.chinaunix.net/thread-1271757-1-1.html
vim-重新打开回到上次所编辑文件的位置:
应用场景:
在每次退出一份文件后再重新打开该文件时,希望光标停留在当时退出的地方;也就是说当我程序写到hello.c的第100列时突然有事必须关电脑了,那在我下次打开电脑以vim打开hello.c, 希望光标还是停留在第100列,怎么办?
解决方案就是在.vimrc里面加上这一行即可:
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
google大神的礼物:
http://bbs.chinaunix.net/viewthread.php?tid=1024941&page=1
查到树莓派的3.3V输出口可以提供的最大电流是50mA,并且从这个链接我知道不应让树莓派的单针脚的输出电流>10mA,然后我又查到发光二极管的驱动电流一般是5~20mA。因此,驱动发光二极管是不成问题的。
这个电压和电流可以驱动码?
常用Raspberry Pi周边传感器的使用教程里谈到用干簧继电器,但我觉得吧,可能要是大功率还得用固态继电器,或可控硅才行:
http://bbs.xiaomi.cn/thread-7797152-1-1.html
这个电压和电流可以驱动码?
常用Raspberry Pi周边传感器的使用教程里谈到用干簧继电器,但我觉得吧,可能要是大功率还得用固态继电器,或可控硅才行:
http://bbs.xiaomi.cn/thread-7797152-1-1.html
背景:孵化时不得不要温度监控。AM2302 (wired DHT22) temperature-humidity sensor -价格有点高,但不用写代码。
淘宝上卖得有点高:http://item.taobao.com/item.htm?spm=a230r.1.0.0.uWRxwK&id=18906174315
参考:http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview
1.连线:
am2302不需要使用电阻,只需连接三个针脚即可(1,2,4)
1-->3.3v 既第一个针脚
2-->GPIO 可随意连接一个gpio针脚 (第7个阵脚,对应的是gpio pin 4)
3-->GND 连接接地针(连接的是第6个针脚)
然后参考http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install,下载安装执行命令即可
简单记录仅供备忘。。。
来自:http://www.cnblogs.com/yaoshan/archive/2013/03/14/2924701.html
Adapting the DHT C code
Since the DHT sensors use a low-level "Manchester-esque" timing protocol to send data, we need to be able to read the pin they are connected to at very high speeds. The python libraries aren't fast enough, but the low level C libraries are! The code we wrote is a good example of how to deal with bitbang in user space, without the need to write a kernel driver
Grab the lowlevel BCM2835 C Library from http://www.open.com.au/mikem/bcm2835/index.html
$ wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.8.tar.gz
$ tar -zxvf bcm2835-1.8.tar.gz
$ cd bcm2835-1.8
$ ./configure
$ make
$ sudo make install
Then compile the Adafruit_DHT program with
gcc Adafruit_DHT.c -l bcm2835 -std=gnu99 -o Adafruit_DHT
淘宝上卖得有点高:http://item.taobao.com/item.htm?spm=a230r.1.0.0.uWRxwK&id=18906174315
参考:http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview
1.连线:
am2302不需要使用电阻,只需连接三个针脚即可(1,2,4)
1-->3.3v 既第一个针脚
2-->GPIO 可随意连接一个gpio针脚 (第7个阵脚,对应的是gpio pin 4)
3-->GND 连接接地针(连接的是第6个针脚)
然后参考http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install,下载安装执行命令即可
简单记录仅供备忘。。。
来自:http://www.cnblogs.com/yaoshan/archive/2013/03/14/2924701.html
Adapting the DHT C code
Since the DHT sensors use a low-level "Manchester-esque" timing protocol to send data, we need to be able to read the pin they are connected to at very high speeds. The python libraries aren't fast enough, but the low level C libraries are! The code we wrote is a good example of how to deal with bitbang in user space, without the need to write a kernel driver
Grab the lowlevel BCM2835 C Library from http://www.open.com.au/mikem/bcm2835/index.html
$ wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.8.tar.gz
$ tar -zxvf bcm2835-1.8.tar.gz
$ cd bcm2835-1.8
$ ./configure
$ make
$ sudo make install
Then compile the Adafruit_DHT program with
gcc Adafruit_DHT.c -l bcm2835 -std=gnu99 -o Adafruit_DHT
背景:想用PHP读取并控制温度:https://github.com/ronanguilloux/temperature-pi
https://github.com/ronanguilloux/php-gpio
———————————————————————————————
Installation
这样才对:
root@raspberrypi:~/dev_codes_all/php-gpio-extension# php composer.phar create-project --stability='dev' ronanguilloux/php-gpio php-sources-all
Installing ronanguilloux/php-gpio (dev-master 2ab29290e0fd45992103062bc949c8e18f622a20)
- Installing ronanguilloux/php-gpio (dev-master master)
Cloning master
Created project in php-sources-all
Loading composer repositories with package information
Installing dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? y
目录:
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# pwd
/root/dev_codes_all/php-gpio-extension/php-sources-all
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# find . -name "autoload.php"
./vendor/autoload.php
vi ~/dev_codes_all/php-gpio-extension/php-sources-all/testgpio.php
Egg:
<?php
require 'vendor/autoload.php';
use PhpGpio\Gpio;
echo "Setting up pin 17\n";
$gpio = new GPIO();
$gpio->setup(17, "out");
echo "Turning on pin 17\n";
$gpio->output(17, 1);
echo "Sleeping!\n";
sleep(3);
echo "Turning off pin 17\n";
$gpio->output(17, 0);
echo "Unexporting all pins\n";
$gpio->unexportAll();
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# php testgpio.php
Setting up pin 17
Turning on pin 17
Sleeping!
Turning off pin 17
Unexporting all pins
来源:https://github.com/ronanguilloux/php-gpio
https://github.com/ronanguilloux/php-gpio
———————————————————————————————
Installation
这样才对:
root@raspberrypi:~/dev_codes_all/php-gpio-extension# php composer.phar create-project --stability='dev' ronanguilloux/php-gpio php-sources-all
Installing ronanguilloux/php-gpio (dev-master 2ab29290e0fd45992103062bc949c8e18f622a20)
- Installing ronanguilloux/php-gpio (dev-master master)
Cloning master
Created project in php-sources-all
Loading composer repositories with package information
Installing dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? y
目录:
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# pwd
/root/dev_codes_all/php-gpio-extension/php-sources-all
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# find . -name "autoload.php"
./vendor/autoload.php
vi ~/dev_codes_all/php-gpio-extension/php-sources-all/testgpio.php
Egg:
<?php
require 'vendor/autoload.php';
use PhpGpio\Gpio;
echo "Setting up pin 17\n";
$gpio = new GPIO();
$gpio->setup(17, "out");
echo "Turning on pin 17\n";
$gpio->output(17, 1);
echo "Sleeping!\n";
sleep(3);
echo "Turning off pin 17\n";
$gpio->output(17, 0);
echo "Unexporting all pins\n";
$gpio->unexportAll();
root@raspberrypi:~/dev_codes_all/php-gpio-extension/php-sources-all# php testgpio.php
Setting up pin 17
Turning on pin 17
Sleeping!
Turning off pin 17
Unexporting all pins
来源:https://github.com/ronanguilloux/php-gpio
背景:IE没有,网网也最容易出问题,于是你不得不用ie webdeveloper V2进行console.log输出,下面介绍的方法没使用,也算是一种办法吧。这玩意最好是接合fiddler2(http://jackxiang.com/post/6535/)的replace进行调试是最好的搭档。至于像firefox(Firebug也带着console.log)和chrome(自带调试F12支持Console.log),不再作过多叙述。
阅读全文
阅读全文
[中级教程] 树莓派1602屏幕演示程序(附代码):
http://www.shumeipai.net/thread-18959-1-1.html
树莓派1602屏幕演示程序(附代码):
http://www.w3c.com.cn/%E6%A0%91%E8%8E%93%E6%B4%BE1602%E5%B1%8F%E5%B9%95%E6%BC%94%E7%A4%BA%E7%A8%8B%E5%BA%8F%EF%BC%88%E9%99%84%E4%BB%A3%E7%A0%81%EF%BC%89
http://www.shumeipai.net/thread-18959-1-1.html
树莓派1602屏幕演示程序(附代码):
http://www.w3c.com.cn/%E6%A0%91%E8%8E%93%E6%B4%BE1602%E5%B1%8F%E5%B9%95%E6%BC%94%E7%A4%BA%E7%A8%8B%E5%BA%8F%EF%BC%88%E9%99%84%E4%BB%A3%E7%A0%81%EF%BC%89
发现一个好东西,写成教程方便童鞋们使用,本教程是教你如果通过Web远程监控查询树莓派的运作状况,特别适合那些长期远程登录或者做服务器的童鞋
在这里仍然要感谢原作者Fusion Strike的辛勤劳动!!
.....
更多参看:http://www.geek-workshop.com/thread-2058-1-1.html
在这里仍然要感谢原作者Fusion Strike的辛勤劳动!!
.....
更多参看:http://www.geek-workshop.com/thread-2058-1-1.html
请问如何用Shell编: 在当前目录下保留指定日期的文件,其余的全部删除?
Php/Js/Shell/Go jackxiang 2013-9-17 13:09
实践Ok,答案:
第一步:进入Recovery模式 1.建议您用手指同时按音量上键、音量下键、电源键这三个键开机,屏幕显示“recovery mode„” 2. 稍等10秒,手机上会出现“请按Home键(手机下方中间键),查看详情” 3. 按Home键, 按3次音量下键,选中最后一行“wipe cache partition”,按电源键。屏幕自动跳转一页,再按2次音量下键,选中“wipe data/factory reset”,按电源键(进入下一个界面);按音量下键,选中“Yes – delete all user data”, 按电源键(执行恢复动作)。屏幕下边黄色字体显示“Data wipe complete.”表示已恢复出厂设置完成,按下电源键执行重新启动系统。
来自:http://product.myprice.com.cn/faq/detail/242711.html
酷派D530 卡刷刷机详细教程以及ROM下载:
http://www.liqucn.com/article/101312.shtml
DownLoad:http://download.csdn.net/detail/cenhailang/3547722
第一步:进入Recovery模式 1.建议您用手指同时按音量上键、音量下键、电源键这三个键开机,屏幕显示“recovery mode„” 2. 稍等10秒,手机上会出现“请按Home键(手机下方中间键),查看详情” 3. 按Home键, 按3次音量下键,选中最后一行“wipe cache partition”,按电源键。屏幕自动跳转一页,再按2次音量下键,选中“wipe data/factory reset”,按电源键(进入下一个界面);按音量下键,选中“Yes – delete all user data”, 按电源键(执行恢复动作)。屏幕下边黄色字体显示“Data wipe complete.”表示已恢复出厂设置完成,按下电源键执行重新启动系统。
来自:http://product.myprice.com.cn/faq/detail/242711.html
酷派D530 卡刷刷机详细教程以及ROM下载:
http://www.liqucn.com/article/101312.shtml
DownLoad:http://download.csdn.net/detail/cenhailang/3547722
[转]JavaScript实现http地址自动检测并添加URL链接
Php/Js/Shell/Go jackxiang 2013-9-13 16:11
背景:写一个简单的聊天系统,发出Htpp的Url实现跳转加上a标签。
实现代码:
来自:http://www.zhangxinxu.com/wordpress/?p=749
摘录:
URL地址自动添加的实现
URL地址自动添加的实现其实就是那么点内容:检测与替换。
检测
“检测”就是检测文字(字符串)内部是否有符合http地址的内容,显然,这需要用到正则表达式进行验证,这个工作前端和后台都可以做,这里,只讲前端的方法,使用JavaScript实现。
验证HTTP地址的正则表达式如下(可能有疏漏或是不准确之处,欢迎指正):
var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
前一部分匹配http或是https开头的URL字符串地址,后面一部分匹配一些字符,英文字符、下划线(_)、点号(.)、问号(?)以及等号(=),连接短线(-)等。
替换
说到JavaScript中的替换功能,首先想到的自然是replace属性了,replace属性强大之处在于其支持正则表达式,可以对符合正则的字符串进行替换。例如,我们要替换掉字符串两端的空格就可以使用类似下面的语句:
var s = " blank ";
s = s.replace(/^\s+(.*?)\s+$/, "");
alert(s);
实现代码:
来自:http://www.zhangxinxu.com/wordpress/?p=749
摘录:
URL地址自动添加的实现
URL地址自动添加的实现其实就是那么点内容:检测与替换。
检测
“检测”就是检测文字(字符串)内部是否有符合http地址的内容,显然,这需要用到正则表达式进行验证,这个工作前端和后台都可以做,这里,只讲前端的方法,使用JavaScript实现。
验证HTTP地址的正则表达式如下(可能有疏漏或是不准确之处,欢迎指正):
var reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g;
前一部分匹配http或是https开头的URL字符串地址,后面一部分匹配一些字符,英文字符、下划线(_)、点号(.)、问号(?)以及等号(=),连接短线(-)等。
替换
说到JavaScript中的替换功能,首先想到的自然是replace属性了,replace属性强大之处在于其支持正则表达式,可以对符合正则的字符串进行替换。例如,我们要替换掉字符串两端的空格就可以使用类似下面的语句:
var s = " blank ";
s = s.replace(/^\s+(.*?)\s+$/, "");
alert(s);
以前的关闭tab的快捷方法tips:
windows ,一般都有鼠标中键了~~
在tab上点一下中键就关闭。。。
或者 ctrl + w
Firefox 23已经正式发布,Firefox 24也进入了Beta公开测试阶段。Firefox 24 Beta为Mac OS X 10.7和更新版本提供了新风格的滚动条,拖拽聊天窗口即可将多个聊天会话分开单独显示。此外,Firefox 24还引入了一个实用的功能:关闭右侧标签页。
摘录:http://tech.qianlong.com/33443/2013/08/12/6484@8858910.htm
windows ,一般都有鼠标中键了~~
在tab上点一下中键就关闭。。。
或者 ctrl + w
Firefox 23已经正式发布,Firefox 24也进入了Beta公开测试阶段。Firefox 24 Beta为Mac OS X 10.7和更新版本提供了新风格的滚动条,拖拽聊天窗口即可将多个聊天会话分开单独显示。此外,Firefox 24还引入了一个实用的功能:关闭右侧标签页。
摘录:http://tech.qianlong.com/33443/2013/08/12/6484@8858910.htm
怎么禁止浏览器自动保存密码?
Php/Js/Shell/Go jackxiang 2013-9-8 15:39
怎么禁止浏览器自动保存密码?
背景:有时不是记住密码就方便,有时是记录了反而不好,不安全呵。
1)首先大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:
<input type="text" name="password" onfocus="this.type='password'" />
IE下不支持修改input 的type属性,会报错!
可以用两个input 一个是text 另一个是password之间的显示与隐藏来实现 这个功能
解释:当这个文档框获取焦点时才将其变成密码域,这样浏览器就不会记住密码,当然为了更加完善,还可以把autocomplete="off"属性也加上。
2)autocomplete="off"
3)在onload事件,把密码框的值清空,即:
<script language="javascript">
<script language="javascript">
window.load = function(){
document.getElementById('login_pwd').value='';
};
</script>
[/codes]
4)页面采用https协议,因为https是不会对表单进行保存信息的。
5)针对有些浏览器插件的自动填表功能
这个就比较麻烦了,我想这种情况应该是插件记住表单域name的值,然后再进行填表,这种情况,我觉得可以在页面加载时动态更改name的值,当提交表单的时候再把表单的值组合成正确的对应值再提交。这个没有经过验证,只是我个人的想法。你可以试试
如果以上这些方法还满足不了你,那我也没办法了。
建议:
试一下把对应域名下的cookie清掉,浏览器应该是根据cookie来记住用户名密码的。
(不是的,有的浏览器是在你提交表单后,根据你提交的值来记住的)
(对的 有些浏览器不记录在COOKIE 这个比较头疼 顺便问下INPUT里输入过的值如何清除?我希望能像银行的那样 输入过的值不再出现)
浏览器记住密码的实现方式就是通过寻找type为password的input输入框,然后前边一个输入框就作为用户名记住。所以解决这个问题的办法就是在用户名input和密码input之间增加一个type为text的输入框设置css属性display为none。
来自:http://www.jb51.net/article/35878.htm
采用办法:
(1)
密码:<input type=\"text\" name=\"login_pwd\" id=\"login_pwd\" class=\"mytxt\" size=\"12\" onfocus=\"this.type='password'\" autocomplete=\"off\"/>
(2)
背景:有时不是记住密码就方便,有时是记录了反而不好,不安全呵。
1)首先大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:
<input type="text" name="password" onfocus="this.type='password'" />
IE下不支持修改input 的type属性,会报错!
可以用两个input 一个是text 另一个是password之间的显示与隐藏来实现 这个功能
解释:当这个文档框获取焦点时才将其变成密码域,这样浏览器就不会记住密码,当然为了更加完善,还可以把autocomplete="off"属性也加上。
2)autocomplete="off"
3)在onload事件,把密码框的值清空,即:
<script language="javascript">
<script language="javascript">
window.load = function(){
document.getElementById('login_pwd').value='';
};
</script>
[/codes]
4)页面采用https协议,因为https是不会对表单进行保存信息的。
5)针对有些浏览器插件的自动填表功能
这个就比较麻烦了,我想这种情况应该是插件记住表单域name的值,然后再进行填表,这种情况,我觉得可以在页面加载时动态更改name的值,当提交表单的时候再把表单的值组合成正确的对应值再提交。这个没有经过验证,只是我个人的想法。你可以试试
如果以上这些方法还满足不了你,那我也没办法了。
建议:
试一下把对应域名下的cookie清掉,浏览器应该是根据cookie来记住用户名密码的。
(不是的,有的浏览器是在你提交表单后,根据你提交的值来记住的)
(对的 有些浏览器不记录在COOKIE 这个比较头疼 顺便问下INPUT里输入过的值如何清除?我希望能像银行的那样 输入过的值不再出现)
浏览器记住密码的实现方式就是通过寻找type为password的input输入框,然后前边一个输入框就作为用户名记住。所以解决这个问题的办法就是在用户名input和密码input之间增加一个type为text的输入框设置css属性display为none。
来自:http://www.jb51.net/article/35878.htm
采用办法:
(1)
密码:<input type=\"text\" name=\"login_pwd\" id=\"login_pwd\" class=\"mytxt\" size=\"12\" onfocus=\"this.type='password'\" autocomplete=\"off\"/>
(2)
curl 模拟浏览器头和refer及Curl模仿http浏览器常见命令。
Php/Js/Shell/Go jackxiang 2013-9-6 18:03
linux下shell终端curl的post数据
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -e "http://post.html" -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票" http://post.php
注释:
-A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
的意思就是申明客户端是windows2000下的ie6的浏览器;
-e "http://post.html"的意思就是refer是这个页面;
-d后面的参数都是将用post方式提交到服务器去的
最后面的就是将要post到的url地址
这里提到了-A、-e和-d参数,
其实用的比较多的还有
-x(后面用ip:port方式接代理服务器)等等,
这里就不一一列举了,可以参考man curl
demo
curl $URL -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票"
结果
Array
(
[2880] => Array
(
[0] => 105
)
[pid] => 2880
[p] => 最佳
[count] => 1
[receipt] => 1
[poll] => 投票
)
4.模拟指定浏览器
有些变态的站点,限制了使用浏览器的类型.一样难不倒curl.
curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” [URL]
这个就是一个模拟,win2k的ie5.0的一个访问.
阅读全文
curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -e "http://post.html" -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票" http://post.php
注释:
-A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
的意思就是申明客户端是windows2000下的ie6的浏览器;
-e "http://post.html"的意思就是refer是这个页面;
-d后面的参数都是将用post方式提交到服务器去的
最后面的就是将要post到的url地址
这里提到了-A、-e和-d参数,
其实用的比较多的还有
-x(后面用ip:port方式接代理服务器)等等,
这里就不一一列举了,可以参考man curl
demo
curl $URL -d "2880[]=105&pid=2880&p=最佳&count=1&receipt=1&poll=投票"
结果
Array
(
[2880] => Array
(
[0] => 105
)
[pid] => 2880
[p] => 最佳
[count] => 1
[receipt] => 1
[poll] => 投票
)
4.模拟指定浏览器
有些变态的站点,限制了使用浏览器的类型.一样难不倒curl.
curl -A “Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)” [URL]
这个就是一个模拟,win2k的ie5.0的一个访问.
阅读全文