Monthly Archives: 三月 2014

  • 0

搜索引擎相关技术浅解

        闻道软件工作室开发的几款软件和搜索引擎的技 术有不少重叠,如即将上线的projSpider.com其实就是一款简单的垂直搜索引擎,此外我们在多个项目中应用到的网络爬虫模块也是搜索引擎技术中的重要一环。

       虽然闻道软件工作室的工程师中并没有人参与过大型搜索引擎的开发,但对此都很感兴趣。本文根据一些类似的项目经历和公开的资料,对搜索引擎相关技术作一个浅解。

 201432916198

1、  爬虫(Spider)——数据来源

 

       作为搜索引擎海量数据的来源,爬虫是搜索引擎技术的重要一环,闻道软件工作室有自己开发的爬虫,所以对此技术很熟悉。

“Read More”


  • 0

Web数据采集解决方案以及应用场景

闻道软件工作室有丰富的模拟HTTP协议的软件开发经验,目前开发的工具以及模块可以满足绝大部分模拟HTTP的项目开发。

本文介绍闻道软件工作室针对Web数据采集的解决方案。

“Read More”

  • 0

C/C++实际开发中常见问题及预防、定位方法系列(二)

前文见C/C++实际开发中常见问题及预防、定位方法系列(一)

本系列文章第二篇专门讲解C/C++最常见的内存问题

1、段错误(Linux)、程序崩溃退出(windows)

不同的系统访问非法地址时的表现不一致。本文只以最常见的Linux和Windows为例。 在Linux中,出现段错误时,可以确定是使用了非法内存。 在Windows中,出现程序崩溃,弹窗提示某个地址不能为Read,也可以确定。

下面列举一些常见的照成此类问题的原因

“Read More”

  • 0

C/C++实际开发中常见问题及预防、定位方法系列(一)

 

本系列文章整理C/C++实际开发中常见问题及预防、定位方法。本站原创,转载请注明

C语言是一门非常强大的编程语言,相对于其他语言,C语言最大的优势是可以直接操作内存,C++完全兼容C语言,并在此基础上又新增了面向对象的编程思想。也正因为C/C++可以直接操作内存,稍有不慎,便会造成系统崩溃,即使系统运行正常,其中也经常隐藏着一些隐患,这些隐患就像定时炸弹,随时可能导致系统崩溃。

正所谓隐患险于明火,防范胜于救灾。本系列文章的第一篇主要关注由不良代码习惯引起的隐患。

“Read More”

  • 0

CURL处理跨域Cookies

CURL处理跨域的Cookies

CURL是一款功能强大的开源HTTP协议库,可以模拟各种类型的HTTP/HTTPS报文。闻道软件工作室的多款系统软件中都使用到了CURL。

在使用CURL提交HTTP请求模拟登陆时,需要记录下连接的COOKIES,以维护登陆的状态。在大部分HTTP的模拟登陆中,设置以下两个参数即可在一条连接中保留状态。

curl_easy_setopt(curl, CURLOPT_COOKIEFILE, GetCookiesFile().c_str());
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, GetCookiesFile().c_str());

“Read More”

  • 0

常用抓包工具对比

抓包工具在实际的软件开发中主要有分析协议和报文以及定位问题等作用。问道软件工作室开发的很多系统和软件中,也经常要使用到抓包工具。
抛砖引玉,本文列举了我们经常使用的一些工具。

1、WireShark,久负盛名的重量级抓包工具,除了能分析应用层的协议外,还能深入到TCP/IP协议栈,分析网络底层协议的细节。实在是居家旅行必备软件。

“Read More”

  • 0

程序模拟网页提交、爬虫的常见方案及优劣势分析

闻道软件工作室已经做过多个使用软件模拟HTTP GET和POST请求的工具和系统,使用过多种方案。本文将对我们使用过的方案做一些分析和对比
1、C/C++作为开发语言,使用CURL开源库作HTTP请求。CURL功能强大,除了支持HTTP外还支持HTTPS。我们在多个系统和工具中使用了这个方案,比如模拟天翼Live协议的短信平台、模拟139协议的短信、彩信平台等。C/C++作为一种经典的开发语言,其开发出来的程序执行效率高、跨平台、程序扩展性以及稳定性容错性都较强,但是相对于其他方案对开发者的专业知识要求较高,除了要有扎实的C/C++编程功底意外、需要通过分析HTTP报文、甚至是分析JS、Jquery代码来得到具体页面中关键的参数。涉及到Web编程、HTTP协议、JS/Jquery语言等其他知识。在模拟天翼Live协议的短信平台这个系统中,我们还对天翼Live的客户端进行了逆向以获取一些加密算法和参数的细节。是本文列举的几个方案中开发难度最大,维护成本最高的方案,当然优势也不言而喻,开发出的系统功能强大,性能高,直接深入最底层协议开发灵活性最强。

“Read More”

  • 0

在python中调用dll,并将dll以及python合并打包成一个exe文件的方法

相信很多学习使用python的朋友都想过将python程序打包成一个EXE文件,这样避免了程序发布时还要安装python运行环境的问题。有很多程序可以帮助我们做到这一点,如py2exe,pyinstaller,cxfreeze等。

其中只有cxfreeze支持3.x的版本,而且cxfreeze不支持将所有文件打包到一个exe。3.x版本的python相对于2.x改动较大,所以,建议开发者使用2.X的版本。

py2exe可以做到将python程序的运行库、依赖库打包到一个EXE文件中。这可以解决大部分人的问题。但是如果使用到了ctypes调用dll时怎么将dll文件进去呢?一个办法是用自解压的方式,把所有文件用rar压缩,配置自解压。但是这样做有一个缺陷,就是会创建两个进程,一个是解压程序,第二个才是自己的程序。笔者尝试了很多种办法都没有做到只有一个进程并将dll文件打包进去。

“Read More”