导航

上一页 1 2 3 4 5 6 7 ··· 23 下一页

2011年3月10日

摘要: 最近写程序抓取数据,发现对有的网站用HttpWebrequest抓取网页的时候会报错,捕获异常提示:"服务器提交了协议冲突 Section=ResponseStatusLine ”,改用WebClient也是同样问题,后来知道,WebClient是对HttpWebrequest进一步进行了封装。最后终于找到问题根源:The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF 微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束 阅读全文

posted @ 2011-03-10 16:41 pcajax 阅读(2985) 评论(0) 推荐(0) 编辑

摘要: 你的问题的原因是这样的,ASP.Net 2.0 增强了安全性,对一些有危害的http 头进行了判断,比如url中有空格的情况,以帮助网站提高网络攻击的防御能力。如果你的http头中有一些ASP.NET 认为是有危害的信息,则会返回这个错误。你访问百度没有问题,是因为百度根本就不是asp.net 做的。这个问题的解决办法是在你的 web.config 中添加如下配置:<configuration><system.net><settings><httpWebRequest useUnsafeHeaderParsing="true" /& 阅读全文

posted @ 2011-03-10 16:32 pcajax 阅读(9929) 评论(0) 推荐(0) 编辑

摘要: 一下是分析制作过程:1.首先登录农场,(建议从空间登录)。2.打开抓包工具(我用的WSockExpert_Cn.exe),选进程iexplorer.exe,点打开,开始监视,如下图(注:我用的ie8,进程较多,如不确定可以挨个试一下,ie6的话只有一个进程,没这么麻烦)3.找到要赠送的好友,赠送牧草。然后返回抓包工具查看。如下图(抓包分析的话当然要先找个开通了牧场的才能分析)数据如下post网址部分 POST /cgi-bin/cgi_feed_food HTTP/1.1 Accept: */* Accept-Language: zh-CN Referer: http://appimg.qq. 阅读全文

posted @ 2011-03-10 14:37 pcajax 阅读(1387) 评论(0) 推荐(0) 编辑

摘要: 在百度搜索g_tk,只得到几个可怜而且不完整的答案,因此,我首次在源始时代公开一下QQ空间的g_tk算法。其实g_tk只是QQ空间对日志进行操作的时候,所采取的一套安全机制,如果g_tk字符串的值不对的话,请求是没有办法提交的,因此,很多刚刚涉及HTTP协议技术的人想对QQ空间这尊大佛动手脚的话,只能望而却步。下面我以VB为例,在这里详解一下g_tk的计算方法。其实g_tk校验是通过skey值来算出来的,弄过QQ登录的人可能都知道,在登录成功之后,cookies里都会返回skey值,通常是以@开头,并且带有一串看似无规则的大小写字母混合,总共10位。下面我们先来抓包看看,g_tk到底用在了哪里 阅读全文

posted @ 2011-03-10 12:20 pcajax 阅读(12043) 评论(2) 推荐(2) 编辑

摘要: 新浪博客系统架构(http://blog.sina.com.cn):web服务器:nginx+apachecgi:php博客应用服务器:猜测是c++,memcachdb.存储系统:mysql发表最简单的一篇博客(内容在100字以内),花了2.77秒。调用接口:http://control.blog.sina.com.cn/admin/article/article_post.php对比腾讯qq空间(http://qzone.qq.com):qzone的博客系统架构比较独特,web服务器:公司开发的qzhttp(c++,epoll)cgi:fastcgi(c++)博客应用服务器:blogcont 阅读全文

posted @ 2011-03-10 10:24 pcajax 阅读(270) 评论(0) 推荐(0) 编辑

2011年3月9日

摘要: Thread与ThreadPool使用的时候在内存里对象是如何分布的呢? 今天我们就从内存堆的角度分析下两者。 先上小白鼠代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->staticvoidMain(string[]args){for(inti=0;i<30;i++){Threadt=newThread(newThreadStart(ThreadProc));t.Name="Overred_"+i;t.Star 阅读全文

posted @ 2011-03-09 18:00 pcajax 阅读(757) 评论(0) 推荐(0) 编辑

摘要: 一、基本概念 进程:当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。 线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。 多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。 静态属性:这个类所有对象所公有的属性,不管你创建了多少个这个类的实例,但是类的静态属性在内存中只有一个。二、多线程的优劣 优点:可以提高CPU的利用率。在多 阅读全文

posted @ 2011-03-09 17:12 pcajax 阅读(194) 评论(0) 推荐(0) 编辑

摘要: System.Threading.Thread类是创建并控制线程,设置其优先级并获取其状态最为常用的类。他有很多的方法,在这里我们将就比较常用和重要的方法做一下介绍: Thread.Start():启动线程的执行; Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用; Thread.Resume():继续已挂起的线程; Thread.Interrupt():中止处于 Wait或者Sleep或者Join 线程状态的线程; Thread.Join():阻塞调用线程,直到某个线程终止时为止 Thread.Sleep():将当前线程阻塞指定的毫秒数; Thread.Abort( 阅读全文

posted @ 2011-03-09 17:06 pcajax 阅读(269) 评论(0) 推荐(0) 编辑

摘要: 这章将向大家介绍.NET中的线程API,怎么样用C#创建线程,启动和停止线程,设置优先级和状态. 在.NET中编写的程序将被自动的分配一个线程.让我们来看看用C#编程语言创建线程并且继续学习线程的知识。我们都知道.NET的运行时环境的主线程由Main ()方法来启动应用程序,而且.NET的编译语言有自动的垃圾收集功能,这个垃圾收集发生在另外一个线程里面,所有的这些都是后台发生的,让我们无法感觉到发生了什么事情.在这里默认的是只有一个线程来完成所有的程序任务,但是正如我们在第一篇文章讨论过的一样,有可能我们根据需要自己添加更多的线程让程序更好的协调工作。比如说我们的例子中,一个有用户输入的同时需 阅读全文

posted @ 2011-03-09 17:06 pcajax 阅读(711) 评论(0) 推荐(0) 编辑

摘要: usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Threading; namespace线程练习 { classProgram { staticvoidMain(string[]args) { Console.WriteLine("开始一个新的线程,名为次线程"); Threadt=newThread(newThreadStart(ThreadProc)); t.Start(); for(inti=0;i<4;i++) { Console.WriteLine(&qu 阅读全文

posted @ 2011-03-09 17:04 pcajax 阅读(229) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 23 下一页