- 博客(29)
- 收藏
- 关注
转载 使用 python urllib2 抓取网页时出现乱码的解决方案
转原地址: http://www.zhxl.me/1409.html这里记录的是一个门外汉解决使用 urllib2 抓取网页时遇到乱码、崩溃、求助、解决和涨经验的过程。这类问题,事后看来只是个极小极小的坑,不过竟然花去很多时间,也值得记录一下。过程如下:目标:抓取 http://sports.sina.com.cn/g/premierleague/i
2016-01-18 09:44:58
4542
转载 也谈 Python 的中文编码处理
转原地址 http://in355hz.iteye.com/blog/1860787最近业务中需要用 Python 写一些脚本。尽管脚本的交互只是命令行 + 日志输出,但是为了让界面友好些,我还是决定用中文输出日志信息。 很快,我就遇到了异常: Python代码 UnicodeEncodeError:
2016-01-18 09:43:04
546
转载 网络字节序与主机字节序
网络字节序与主机字节序不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian最符合人的思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序,
2015-11-02 11:01:10
283
转载 epoll模型详解
原地址 http://blog.chinaunix.net/uid-20583479-id-1920065.html在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,
2015-09-25 17:01:11
328
转载 socket阻塞与非阻塞,同步与异步、I/O模型
原地址 http://blog.csdn.net/hguisu/article/details/7453390socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四
2015-09-25 16:58:50
399
转载 排序的算法
如果要转载,需要注明出处: http://blog.csdn.net/xiazdong本文是 http://blog.csdn.net/xiazdong/article/details/7304239 的补充,当年看了《大话数据结构》总结的,但是现在看了《算法导论》,发现以前对排序的理解还不深入,所以打算对各个排序的思想再整理一遍。本文首先介绍了基于比较模型的排序算法,
2015-09-14 16:46:01
403
转载 构造HTTP请求Header实现“伪造来源IP”
在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无法实现正常的通信。这就像我们给对方写信时,如果写出错误的发信人地址,而收信人按信封上的发信人地址回信时,原发信人是无法收到回信的。 一些DDoS 攻击,如 SYN flood, 就是
2015-09-10 16:53:08
569
转载 socket编程中select的使用
socket编程中select的使用来源:http://www.uumbbs.com/show_topic.aspx?topicId=3084&forumId=208Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式blo
2015-09-09 10:05:20
428
转载 如何利用socket进行HTTP访问
如何利用socket进行HTTP访问平常我们要访问某个URL一般都是通过浏览器进行:提交一个URL请求后,浏览器将请求发向目标服务器或者代理服务器,目标服务器或者代理服务器返回我们所需要的数据,浏览器接收到这些数据后保存成文件并进行显示。下面我们看看如何自己利用winsock2.h中的接口来实现这个功能?为了简化问题,作以下假设:通过代理服务器进行HTTP访问,这样就省去了
2015-09-08 13:33:25
1069
转载 Redis 学习笔记
Redis is what is called a key-value store, often referred to as a NoSQL database. The essence of a key-value store is the ability to store some data, called a value, inside a key.
2015-08-14 14:53:02
341
转载 Linux静态库生成指南
Linux上的静态库,其实是目标文件的归档文件。在Linux上创建静态库的步骤如下:写源文件,通过 gcc -c xxx.c 生成目标文件。用 ar 归档目标文件,生成静态库。配合静态库,写一个使用静态库中函数的头文件。使用静态库时,在源码中包含对应的头文件,链接时记得链接自己的库。下面通过实例具体讲解。写源文件,生成目标文件。第一个源文件 my
2015-08-12 15:00:46
277
转载 TCPdump抓包命令详解
http://starsliao.blog.163.com/blog/static/89048201062333032563/TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于
2015-08-07 09:33:48
551
转载 字符串反转
1 #include 2 #include 3 4 char *revstr(char *str, size_t len) 5 { 1 #include 2 #include 3 4 char *revstr(char *str, size_t len) 5 { 6 char *start = str; 1 #i
2015-08-05 13:52:21
302
转载 用Raw socket自己构造数据包头部
一、原始套接字的创建 只有超级用户才能创建原始套接字。int sockFd;sockFd = socket(AF_INET, SOCK_RAW, protocol); 其中第3个参数protocol是形如IPPROTO_xxx的某个常值,在头文件中定义,经常不为0。 原始套
2015-08-05 10:50:36
1582
转载 c++ 覆盖、重载、隐藏
c++ 覆盖、重载、隐藏“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载(Overload)的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的方式来洗车,或者用洗衣服 的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架
2015-08-03 15:07:02
268
转载 linux c/c++ GDB教程详解
原文地址:linux c/c++ GDB教程详解 作者:escarp原文:http://www.91linux.com/html/article/program/cpp/20081017/13581.html学习使用了GDB一段时间后,发现它真的好强大!好用!GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB
2015-07-31 16:42:28
493
转载 Libpcap抓包原理
最近看的开源代码是有关网络监控的,它使用Libpcap进行抓包,然后处理。为了更好的理解代码的实现过程,我关注了Libpcap的抓包原理,至于详细的实现暂时还没有研究。1libpcap的工作原理1.1组成部分 libpcap主要由两部份组成:网络分接头(Network Tap)和数据过滤器(Packet Filter)。网络分接头从网络设备驱动程序中收集数据拷贝,过滤器
2015-07-27 09:33:02
605
1
原创 获取linux系统的cup信息,内存信息c代码
#include #include #include #include typedef struct Cpuinfo{char cpu_name[20];unsigned int user;unsigned int nice;unsigned int system;unsigned int idle;unsigned int iowait;u
2015-07-24 09:22:21
1045
转载 linux c程序获取cpu使用率及内存使用情况关闭
想获取一下目标机运行时linux系统的硬件占用情况,写了这几个小程序,以后直接用了。方法就是读取proc下的文件来获取了。 cpu使用率: /proc/stat ,内存使用情况: /proc/meminfo看程序 :/**************************************************************** @file:
2015-07-22 15:30:50
814
转载 secureCRT使用VIM时对语法高亮
1.在SecureCRT中 secureCRT使用VIM时对语法高亮 其实不是secureCRT的功能,而是VIM的设置:Options ->Session Options -> Terminal -> Emulation 中Terminal选择ANSI or linux or xterm,必须钩上 ANSI Colour设置 选项->会话选项->终端->仿真->终端:Linux,
2015-07-15 16:37:44
396
原创 HTTP权威指南(读书笔记)2
第四章 链接管理TCP连接世界上几乎所有的HTTP 通信都是由TCP/IP 承载的,TCP/IP 是全球计算机及网络设备都在使用的一种常用的分组交换网络分层协议集。客户端应用程序可以打开一条TCP/IP 连接,连接到可能运行在世界任何地方的服务器应用程序。一旦连接建立起来了,在客户端和服务器的计算机之间交换的报文就永远不会丢失、受损或失序。TCP 为HTTP 提供了一
2015-07-10 14:52:25
412
原创 HTTP权威指南(读书笔记) 1
第一部分 HTTP:Web 的基础第二部分 HTTP 结构第三部分 识别、认证与安全第四部分 实体、编码和国际化第五部分 内容发布与分发第六部分 附录第一部分用4 章的篇幅描述了Web 的基础构件与HTTP 的核心技术。• 第 1 章简要介绍了 HTTP。• 第 2 章详细阐述了统一资源定位符(Uniform Resource Locator,URL)的
2015-07-10 14:11:33
452
转载 Socket文件传输过程详解
今天写了一个文件传输工具。但是之前没有写过。就从网上学习了一下。掌握了大致的步骤。 第一阶段:Socket连接服务器端(发送文件):首先打开文件【fopen】,用rb方式打开,既可以发送文本文件,也可以发送二进制文件,在无错时初始化套接字socket,即初始化socket库【WSAStartup】,分配socket【socket】,填充服务器的地址,即填充sockaddr_in结构
2015-07-10 10:24:43
1310
转载 常用正则表达式
说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行处理。说明正则表达式网址(URL)[a-zA-z]+://[^\
2015-07-10 10:22:30
383
转载 正则表达式30分钟入门教程
本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给
2015-07-10 10:18:47
346
转载 DNS原理和解析过程 (2)
DNS服务器所提供的服务是完成将主机名和域名转换为IP地址的工作。为什么需要将主机名和域名转换为IP地址的工作呢?这是因为,当网络上的 一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是便于识记的主机名和域名。而网络上的计算机之间实现连接却是通过每台计算机在网络中拥 有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地
2015-07-10 09:01:57
499
转载 DNS解析过程详解
先说一下DNS的几个基本概念:一. 根域就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。根域服务器我们知道有13台,但是这是错误的观点。根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借
2015-07-09 14:55:20
454
转载 进程和线程关系及区别
1.定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
2015-07-09 10:02:57
261
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人