c语言如何实现对浏览器所访问网站的监控。
使用API寻找顶级窗口和寻找子窗口,用递归的方式列举出指定窗口下所有的窗口句柄,然后使用API读取窗口标题判断。
比如百度,通过窗口标题 百度一下,你就知道 来判断。如果非要匹配地址栏我就不会了
理论上也可以用取窗口标题的方式,但是就拿遨游浏览器来说,其地址栏的窗口句柄根本读取不到,更无法读取标题
另外,监控IP地址也可以试试看。不过浏览器一般都不能正常截包...具体上没研究,也可以试试。
比如说监控电脑全局的 *** 连接,如果发现像百度首页的IP发送封包就说明登陆了百度网站
不过这个估计比找窗口句柄然后判断标题还难实现... 话说楼主了解这个干嘛?
C语言可以开发网站?
c多用于系统软件的开发
网页语言是html(超文本标记语言,是WWW的描述语言)。
里面有各种标记符号,通过不同的代码显示不同的文字、图片、影像等
你得学习这个
还有javascript,这是脚本语言,能给网页加入各种扩展功能,很强大
*** 人员常用的网页 *** 工具是dreamweaver
通过它能写出各种网页代码
你要买书的话就买有这个名字的书
没什么好坏之分因为内容大致都一样
你想学得详细一点就挑厚的买
大致了解的话就买薄的
上面介绍了各种网页效果的实现 ***
不过我不建议买书,到网上搜索“网页 *** 教程”,你会有意想不到的收获
就看自己怎么学了
C语言之类的和网页 *** 没多大关系,它们只是基础,
只是javascript和java里面用到它的基本思想
开始的时候你就学习上面的静态网页 ***
等基本熟练了后就可以发展到动态
现在市场上流行三种语言
asp/php/jsp
作为网站开发人员更好都熟悉
至少要精通一门
推荐asp
因为现在大多网页都用的这个
你学的java是jsp的基础
只在一些大型的网站和公司用到
用c语言判断网址怎么做呢?
/*
问题地址:
详解:
标准的网址(URL)格式是这样的:
;key2=value2#anchor
其中:
[1] http 是协议类型,同样的还有 ftp 等。【可省略,一般浏览器默认都是 http】
[2] user 是用户名,pass 是密码。【可省略】
[3] myserver 可以是服务器的 ip 或者域名,
如百度的 ip = 220.181.112.143 , 域名是:
【这个不能省略】
[4] port 是端口。【可省略,一般默认都是 80】
[5] myapp1,myapp2 是应用程序目录。【可省略】
index.html 是当前页面【可省略,默认是 index.html,default.html 等】
[6] key1,value1,key2,value2 是传递给网站的参数,【可省略】
[7] anchor 是网页内的锚点
合法的网址举例:
;si=1
判断网址算法:
最简单的当然是正则表达式了。
我们看到标准网址(URL)的 7 个部分,有 6 个分割符号,分别是:
://
@
:
/
?
#
在浏览器里面,只有第 3 部分是必须填写的,也是我们日常写的最多的。
用到的资源文件:
头文件 deelx.h,可以到:下载
下载后放到和源程序同一个目录下即可。
*/
#include stdio.h
#include "deelx.h"
int main(int argc, char * argv[])
{
char text[1000] = ";key2=value2#anchor";
// 判断合法网址的正则表达式
static CRegexpT char regexp
(
"(([:alpha:]+)\\://)?((\\w+)\\:(\\w+)@)?(\\w+(\\.\\w+)*)(\\:(\\d+))?((/\\w+)*(\\.\\w+)?)?(\\?((\\w+=\\w+)*(\\w+=\\w+)))?(#((\\w+)))?)"
);
int i;
printf("输入一个网址:");
while(scanf("%s",text))
{
MatchResult result = regexp.Match(text);
if ( result.IsMatched() )
{
/*
for(i=0;iresult.MaxGroupNumber();i++)
{
printf("%d=%.*s\n", i,result.GetGroupEnd(i) - result.GetGroupStart(i), text + result.GetGroupStart(i));
}
*/
// 解析网址
printf("网址:%.*s\n", result.GetGroupEnd(0) - result.GetGroupStart(0), text + result.GetGroupStart(0));
printf("协议类型:%.*s\n",result.GetGroupEnd(2) - result.GetGroupStart(2), text + result.GetGroupStart(2));
printf("用户名:%.*s\n",result.GetGroupEnd(4) - result.GetGroupStart(4), text + result.GetGroupStart(4));
printf("用户密码:%.*s\n",result.GetGroupEnd(5) - result.GetGroupStart(5), text + result.GetGroupStart(5));
printf("服务器IP或域名:%.*s\n",result.GetGroupEnd(6) - result.GetGroupStart(6), text + result.GetGroupStart(6));
printf("服务器端口:%.*s\n",result.GetGroupEnd(9) - result.GetGroupStart(9), text + result.GetGroupStart(9));
printf("应用程序目录:%.*s\n",result.GetGroupEnd(10) - result.GetGroupStart(10), text + result.GetGroupStart(10));
printf("查询参数:%.*s\n",result.GetGroupEnd(14) - result.GetGroupStart(14), text + result.GetGroupStart(14));
printf("锚:%.*s\n\n",result.GetGroupEnd(18) - result.GetGroupStart(18), text + result.GetGroupStart(18));
}
else
{
printf("\"%s\" 是一个非法的网址!!!\n",text);
}
printf("输入一个网址:");
}
return 0;
}
/*
运行结果:
输入一个网址:;key2=value2#anchor
网址:;key2=value2#anchor
协议类型:http
用户名:user
用户密码:pass
服务器IP或域名:myserver.com
服务器端口:800
应用程序目录:/myapp1/myapp2/index.html
查询参数:key1=value1key2=value2
锚:anchor
*/
C语言能开发网站吗?今天有个同事说想用c尝试做网站,我表示很震惊!...
可以啊,自己在socket层上封装,按照HTTP协议作数据解析和数据传送,处理各种HTTP请求就OK,我自己也有做过。
c语言编程之三天打鱼两天晒网
中国有句俗语叫 “三天打鱼两天晒网 ”。某人从 1990年 1月 1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
根据题意可以将解题过程分为三步:
1)计算从 1990年 1月 1日开始至指定日期共有多少天;
2)由于“打鱼”和“晒网”的周期为 5天,所以将计算出的天数用 5去除;
3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为 1,2,3,则他是在“打鱼”否则是在“晒网”在这三步中,关键是之一步。求从 1990年 1月 1日至指定日期有多少天,要判断经历年份中是否有闰年,二月为 29天,平年为 28天。闰年的 *** 可以用伪语句描述如下:如果 ((年能被 4除尽且不能被 100除尽)或能被 400除尽)则该年是闰年;否则不是闰年。
代码如下:
#include
#define YEAR 2010
void main()
{
int year,month,day,y,days=0;
int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入正确的年月日(年月日用空格键隔开):\n");
scanf("%d%d%d",year,month,day);
while(year2010)
{
printf("年份输入过小,请重新输入:\n");
scanf("%d,%d,%d",year,month,day);
}
if(year%400==0||(year%4==0 year%100!=0)) //当满足条件时,在二月基础加一天
num[2]+=1;
for(y=2010;yyear;y++) //判断输入年份是否为闰年
{
if(y%400==0||(y%4==0 y%100!=0))
days+=366;
else
days+=365;
}
for(y=1;ymonth;y++) //计算从2010年1月1日到输入年份总共多少天
{
days+=num[y];
}
days+=day;
printf("\n从2010年1月1日起到%d年%d月%d日共经过了%d天\n\n",year,month,day,days);
if(days%5==3||days%5==2||days%5==1) //用计算出的总天数除以5,求模
printf("%d年%d月%d日他在打鱼\n\n",year,month,day);
else
printf("%d年%d月%d日他在晒网\n\n",year,month,day);
return 0;
}
用c语言能攻击别人的电脑吗?
如果找到对方系统漏洞,不管什么语言都可以攻破对方的电脑,甚至一个批处理脚本都可以
如果找不到对方系统漏洞,什么语言都抓瞎
0条大神的评论