#网络层

Charles(网络封包分析工具)

一、what   Charles工具是通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。  它能实现以下     支持SSL代理:截取分析SSL的请求。&nb...

Socket网络编程--FTP客户端(2)(Windows)

   上一篇FTP客户端讲到如果制作一个简单的FTP客户端,功能实现了,但是后面我们发现了问题,就是FTP是使用明文进行操作的。对于普通情况来说就无所谓了。但有时候要安全的一点的话,就应该使用FTP的安全版本。有SFTP和FTPs,两者都是FTP的安全版本,但是两者的实现原理差别还是很大的,具体自己搜索了解。...

Socket网络编程--FTP客户端(1)(Windows)

  已经好久没有写过博客进行分享了。具体原因,在以后说。  这几天在了解FTP协议,准备任务是写一个FTP客户端程序。直接上干货了。0.了解FTP作用  就是一个提供一个文件的共享协议。1.了解FTP协议  FTP有指令和响应码。FTP控制帧即指TELNET交换信息,包含TELNET命令和选项。然而,大多数FTP控制帧...

Socket网络编程--Libev库学习(3)

  这一小节继续讲解各个观察器(Watcher).  上一小节已经讲解了ev_io(IO可读可写观察器),ev_stat(文件属性变化观察器),ev_signal(信号处理观察器),ev_timer(定时器),ev_periodic(周期任务处理),ev_child(子进程状态变化观察器)。这一小节准备讲ev_fork...

Socket网络编程--Libev库学习(2)

  这一小节讲各个观察器(Watcher)  在libev下面watcher相当于EventHandler这么一个概念,通常里面会绑定fd回调函数以及我们需要关注的事件。然后一旦触发事件之后会触发我们使用的回调函数,回调函数参数通常有reactor,watcher以及触发的事件。这里不打算重复文档里面的watcher相...

Socket网络编程--Libev库学习(1)

  这一节是安装篇。  Socket网络编程不知不觉已经学了快两个月了。现在是时候找个网络库学学了。搜索了很多关于如何学网络编程的博客和问答。大致都是推荐学一个网络库,至于C++网络库有那么几个,各有各的好处。这里就选这个代码量少了,方便入门,等有一定的基础后,再看看“学之者生,用之着死”的ace或者有可能成为C++标...

Socket网络编程--简单Web服务器(6)

  本来是想实现ssl连接的,但是弄了好久都不成功,就索性不做了,等以后有能力再做了。所以这一小节就是本次的最后一节了。就简单的说几个注意点。  1.加个配置文件    使用单例模式,使用一个类,该类保存一些信息,例如一个配置类的一个属性为PAGE404的字符串,该字符串保存一个文件地址,然后我们的Page_404函数...

Socket网络编程--简单Web服务器(5)

  这一小节我们将实现服务器对get和post的请求进行对cgi程序的调用。对于web服务器以前的章节已经实现了对get和post请求的调用接口,接下来给出对应接口的实现。1intWebServer::ServerGetFunction(intcli_fd,char*path,char*args)2{3ServerEx...

Socket网络编程--简单Web服务器(4)

  上一小节已经实现了对图片的传输,接下来就是判断文件是否为js,css,png等格式。我们增加一个函数用于判断格式1intWebServer::get_filetype(char*type,char*path)//用于判断该url指向文件的后缀2{3if(strstr(path,".html"))4strcpy(ty...

Socket网络编程--简单Web服务器(3)

  上一小节已经实现了浏览器发送请求,然后服务器给出应答信息,然后浏览器显示出服务器发送过来的网页。一切看起来都是那么的美好。这一小节就准备实现可以根据地址栏url的不同来返回指定的网页。目前还不考虑带参数的问题。  stat函数#include<sys/stat.h>intstat(constchar*r...

Socket网络编程--简单Web服务器(2)

  上一小节通过阅读开源的Web服务器--tinyhttpd。大概知道了一次交互的请求信息和应答信息的具体过程。接下来我就自己简单的实现一个Web服务器。  下面这个程序只是实现一个简单的框架出来。这次先实现能够Accept客户端的请求。  简单创建web服务器  webserver.h1#include<ios...

Socket网络编程--简单Web服务器(1)

  这一次的Socket系列准备讲Web服务器。就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd。这个服务器才500多行的代码,使用C语言。这一小节就不讲别的内容了。就对这个程序进行一些注释和讲解了。  主函数:1intmain(void)2...

Socket网络编程--网络爬虫(4)

  上一小节我们已经实现了获取博客园最近博客的200页里面的用户名,并保存在一个map中。一开始是想通过这个用户名然后构造一个博客地址。然后在这个地址中查找心得用户名,但是后来发现这个的效率不是很高,虽然部分博客会引用别人的博客,也有机率会留有原博客的地址,这样我们可以爬取的到新的用户名。效率是不高。最后我发现博客园的...

Socket网络编程--网络爬虫(3)

  上一小节我们实现了从博客园的首页获取一些用户的用户名,并保存起来。接下来的这一小节我将对每个用户名构建一个用户的博客主页,然后从这个主页获取所有能获取到的网页,网页的格式现在是http://www.cnblogs.com/yourname/p/xxxxxxxx.html以前是http://www.cnblogs.c...

Socket网络编程--网络爬虫(2)

  上一小节,我们实现了下载一个网页。接下来的一步就是使用提取有用的信息。如何提取呢?一个比较好用和常见的方法就是使用正则表达式来提取的。想一想我们要做个什么样的网络爬虫好呢?我记得以前好像博客园里面有人写过一个提取博客园用户名的博客。我这次就实现这个好了。  第一步我们要分析博客园一个URL的组成,我们每一个用户对应...
首页上一页...1617181920...下一页尾页