C语言实现查询whois
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h> int main()
{
HANDLE handle;
FILE *fp;
FILE *foutput;
int i, j, k, l;
char szDomain[1024 * 4];
char szBuf[1024 * 4];
handle = GetStdHandle(STD_OUTPUT_HANDLE); for (i = 'b'; i <= 'z'; i++)
{
for (j = 'c'; j <= 'z'; j++)
{
for (k = 'd'; k <= 'z'; k++)
{
for (l = 'a'; l <= 'z'; l++)
{
sprintf(szDomain, "whois.exe %c%c%c%c.cn", i, j, k, l);
fp = _popen(szDomain, "r");
if (fp)
{
memset(szBuf, 0, sizeof(szBuf));
fread(szBuf, 1, sizeof(szBuf), fp);
if (strstr(szBuf, "no matching record."))
{
SetConsoleTextAttribute(handle, FOREGROUND_GREEN |
FOREGROUND_INTENSITY);
printf("%s\n", szDomain);
SetConsoleTextAttribute(handle, FOREGROUND_RED |
FOREGROUND_GREEN |
FOREGROUND_BLUE);
printf("%s\n", szBuf);
foutput = fopen("output.txt", "a+");
fprintf(foutput, "%s\n", szDomain);
fclose(foutput);
}
else
{
printf("%s\n", szDomain);
printf("%s\n", szBuf);
}
_pclose(fp);
Sleep(1000);
}
}
}
}
}
return 0;
}
保存还未占用的域名
乱码是由于cmd默认是gbk编码方式。
修改方法:
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
chcp 65001 就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
C语言实现查询whois的更多相关文章
- C# - LINQ 语言集成查询
LINQ(Language Integrated Query) LINQ语言集成查询是一组用于C#语言的扩展.它允许编写C#代码对数据集进行查询,比如查询内存中的对象或查询远程数据库的表.利用linq ...
- Go语言中查询SqlServer数据库
一.Go语言中查询MsSQL数据库: // main.go package main import ( "database/sql" "fmt" "l ...
- “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法
“标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> 接口或 IQueryable& ...
- C#3.0新增功能09 LINQ 基础01 语言集成查询
连载目录 [已更新最新开发文章,点击查看详细] 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称. 数据查询历来都表示为简单的字符串,没有编译时类型检查或 Inte ...
- LINQ(语言集成查询)
LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...
- sql语言:如何查询字符串某个字符的个数?
sql语言:如何查询字符串某个字符的个数? 这语句太精彩了! select len('05011045')-len(replace('05011045','0',''))
- oracle sql语言模糊查询--通配符like的使用教程
转自:http://www.cnblogs.com/tyler2000/archive/2011/04/28/oracleSql.html oracle在Where子句中,可以对datetime.ch ...
- Oracle sql语言模糊查询--like后面的通配符
关于like后面的条件,Oracle提供了四种匹配模式: 1,% :表示任意0个或多个字符.可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示. 比如 SELECT * FR ...
- DML数据操作语言之查询(二)
当我们查询出了N条记录之后 ,我们知道一共是几条记录,或者这些记录某一字段(列值)的最大值,最小值,平均值等,就可以使用聚合函数. 1.聚合函数 聚合函数会将null 排除在外.但是count(*)例 ...
随机推荐
- 调试排错 - Java问题排查:Linux命令
本文原创,更多内容可以参考: Java 全栈知识体系.如需转载请说明原处. Java 在线问题排查主要分两篇:本文是第一篇,通过linux常用命令排查.@pdai 文本操作 文本查找 - grep g ...
- 傅立叶变换—FFT
FFT(快速傅立叶变换)使用“分而治之”的策略来计算一个n阶多项式的n阶DFT系数的值.定义n为2的整数幂数,为了计算一个n阶多项式f(x),算法定义了连个新的n/2阶多项式,函数f[0](x)包含了 ...
- 删除资源管理器中,设备和驱动器与左侧边栏中存在的WPS网盘等图标
存在的问题:资源管理器中,设备和驱动器与左侧边栏中存在的百度网盘和WPS网盘等图标,看着比较碍眼,所以想设置为不显示,可是软件本身不提供右键不显示或删除的功能 解决方案: 删除设备和驱动器中不想要的图 ...
- red note8 pro谷歌套件
谷歌核心Apps(即Google官方应用“全家桶”),包括YouTube,Google Now,Google Play store,Google Play Games,Google Maps等: 基于 ...
- MapInfo常见数据格式
在MapInfo 中所指的表是单纯的数据表或是图形与数据的结合.一个典型的MapInfo表将主要由*.tab.*.dat.*.wks.*.dbf.*.xls.*.map.*.id.*.ind文件格式组 ...
- Java五子棋小游戏(控制台纯Ai算法)
Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...
- Yolo V3整体思路流程详解!
结合开源项目tensorflow-yolov3(https://link.zhihu.com/?target=https%3A//github.com/YunYang1994/tensorflow-y ...
- Promise里的代码为什么比setTimeout先执行
当浏览器或者Node拿到一段代码时首先做的就是传递给JavaScript引擎,并且要求它去执行. 然而,执行 JavaScript 并非一锤子买卖,宿主环境当遇到一些事件时,会继续把一段代码传递给 J ...
- 对Java中可变参数的理解
说明 可变参数:是DK1.5之后出现的新特性,其实可变参数是0.1.2.3.....个参数的数组 使用前提 当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数 使用格式 修饰符 ...
- FJUT-1370 记录一次解题过程
题目在福工院的1370 首先看题目,好家伙,全英文 那么大致的题意就是.有几个城市同在一条线上(相当于在x轴上),max i是第i个城市到其他所有城市的距离中的最大值,min i也就是所有中最小的. ...