首页 > 代码库 > socket-----爬虫&&文件传输
socket-----爬虫&&文件传输
最近想着写几个小demo
写了一个爬虫,用的是C++,基本思想就是一层一层的找类似深搜吧,抓取的页面是www.cnblogs.com,从localhost发送request请求,给www.cnblogs.com,并且根据返回的数据,在中查找用户名,将用户名用map保存,因为有的用户名可能不止一次访问到,所以存在一个判断如果当前的用户名访问过了,就不需要在存储了,并且根据当前的用户名,拼接当前用户的url,eg:www.cnblogs.com/username,然后继续查找用户名,并且此时建立一个queue,一个是结构体类型的queue,存储的是当前的URI和用户名,一个是存储用户名的,现在存在一点,如果用户不登陆,在查找一个用户的主页时,返回的response数据中没有该用户关注的或者是粉丝,或者是评论人的username,换句话说,从当前用户额主页中获取不到username。
文件传输系统,是看了别人的博客,以前的聊天系统,能实现从客户端传送文件到server,并且里面有用户名和密码,存储的时只是本地文件,并没有用到数据库,这个在存储用户名和密码用mysql存储,一只有个问题是在和数据库进行链接的时候,把一些参数的内容混淆了,链接的时候把password设置为了NULL,导致一直连接不上数据库(本机测试,没有远程)
mysql_real_connect(&conn,"localhost","user","password","database",port,unix_socket,0))
port端口为0,使用unix连接方式,unix_socket为null时,表明不使用socket或管道机制,最后一个参数经常设置为0
MYSQL *mysql_real_connect(MYSQL *mysql,
const char *host,
const char *user,
const char *passwd,
const char *db,
unsigned int port,
const char *unix_socket,
unsigned long client_flag)
上面描述了五个参数的主要取值,MYSQL *为mysql_init函数返回的指针,host为null或 // localhost时链接的是本地的计算机,当mysql默认安装在unix(或类unix)系统中,root账户是没// 有密码的,因此用户名使用root,密码为null,当db为空的时候,函数链接到默认数据库,在进行 // mysql安装时会存在默认的test数据库,因此此处可以使用test数据库名称,port端口为0,使用 // unix连接方式,unix_socket为null时,表明不使用socket或管道机制,最后一个参数经常设置为0
返回值:当连接成功时,返回MYSQL连接句柄,失败,返回NULL。当成功时,返回值与第一个参数
然后当前试了一个chorme的安装包,当传递到server端,再打开chorme时,安装包能运行了。
继续完善功能。。。。
socket-----爬虫&&文件传输