有时候蛋疼一下,用PHP自动抓取一些东西。不过碰到ASP.Net这玩意儿顿时傻眼了,翻页等等都是用控件实现的。
还好以前学了点皮毛,知道用ViewState这神奇的玩意儿,知道这个就足够了,打开FireFox,以及HttpWatch,点一下“下一页”请求一下:
其他的没啥用,最重要的是最三面的三个参数。分别是viewstate,方法,参数。
很好办了。curl请求一下。就能获取到刷新后的页面了。
所以。。。HttpWatch真是神器,同样的FireBug、Fiddler也是!
Tips:viewstate的值可以用phpquery或者simple html dom 轻松获取,当然,如果蛋疼一下,用正则去获取也是可以的。
< Asp.Net,FireFox,PHP,PHPQuery >
折腾SupeSite,差点被这玩意儿搞残废。
安装正常,与ucenter通讯也正常的,可是安装完成后首页和后台怎么也打不开。
按照网上的说法都检查过,按说明的目录的分配权限也全部分配完毕。可是就是白屏。
检查了apache和php的设置也都是正常 无误的。
很意外的打开SupeSite下的cache目录,怀疑是不是这儿出的问题。
遂:
sudo chmod 777 *
刷新后解决问题!!!
昨天写了《使用Asp.Net绕过As3的跨域安全沙箱》,有几个小问题。
先上一副图吧。

这里A服务器是我们的服务器,假设了一个Web服务器。放有一个Asp.Net的资源转发文件(即我上面写的redir.ashx),同时有个flash的swf供网友使用。
B服务器是要获取的资源的服务器。
1、天地会上有人说那crossdomain.xml跑哪里去了,因为这里swf与asp.net的转发文件同域,因此这里不用crossdomain.xml也可以了。
2、这种方法的确比较耗资源,其实这样做也是不得已而为之,因为我们有时候需要从其他服务器取一些东西,而对方服务器又不是我们的,让flash直接去取如果对方没有放置crossdomain.xml则会失败。
最好是先判断一下B服务器是否有crossdomain.xml以及其中是否允许直接访问吧,如果允许访问就不要通过A服务器转发:)
同时,天地会上有同学qimming写了PHP和Asp的。转发一下:
<%
'用于实现Flash跨域读取文件
'注意:本程序为asp版,您的空间必须支持asp,使用过多将会加重服务器负担
dim url
url = request("url")
if url = "" then
response.End()
end if
dim obj
Set obj = Server.CreateObject("Msxml2.ServerXMLHTTP")
obj.open "GET",url,false
obj.send()
if obj.readystate<>4 then
response.Redirect(url)
end if
Response.ContentType = "application/octet-stream"
Response.BinaryWrite obj.responseBody
Set obj = nothing
%>
< .Net/SilverLight/WPF,ActionScript >
前段时间,还想自己写个基于Flex 的MySQL管理工具呢,呵呵。
今天意外地发现已经有人写了,而且还是开源的,very good!
http://www.flexsqladmin.com
< Flex.MySQL >
Zend Studio是一个非常杰出的PHP IDE。5.5是多国语言版本的。
可以通过以下方法将默认语言改成中文版的。
打开{系统盘符}:\Documents and Settings\{你的用户名}\ZDE\config_5.5\desktop_options.xml
将
<customized_property ID=”desktop.language”>
<locale language=”en” country=”" variant=”"/>
</customized_property>
改成
<customized_property ID=”desktop.language”>
<locale language=”zh” country=”" variant=”"/>
</customized_property>
即可。
关闭后记得把文件设置为只读,不然的话,在IDE中的“首选项”进行设置后又会变成英文的了:)
< PHP >
参考了网上的方法。
首先,要修改一下”gateway.php”的第127行为
$gateway->setCharsetHandler("utf8_decode","ISO-8859-1","utf-8");
setCharsetHandler(string mode,string phpCharset,string sqlCharset);
因为我直接把mysql_db_query的结果直接传递给客户端了,所以phpCharset不用改。
然后在数据查询前执行一下
set names 'utf8'
Attention:gateway.php中的’utf-8′有’-',而sql查询语句是没有的。
< MySQL,PHP >
Comments