永发信息网

InternetOpenUrl能不能设置超时的时间

答案:3  悬赏:30  手机版
解决时间 2021-02-06 15:51
InternetOpenUrl能不能设置超时的时间
最佳答案
有单独线程的方案可取,也就是利用线程来访问,之后可以通过句柄来监控时间,具体代码如下:

struct PARA
{
string url = "";
string* requst = NULL;
bool result = false;

HINTERNET session = NULL;
HINTERNET bS = NULL;
};

static DWORD WINAPI thread_access(LPVOID args)
{
PARA* p;
p = (PARA*)args;

p->session = InternetOpenA("UrlTest", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);

if (p->session != NULL)
{
p->bS = InternetOpenUrlA(p->session, p->url.c_str(), NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
if (p->bS != NULL)
{
p->requst = new string();
BYTE Temp[MAXSIZE];
ULONG Number = 1;
while (Number > 0)
{
InternetReadFile(p->bS, Temp, MAXSIZE - 1, &Number);
Temp[Number] = '\0';
p->requst->append((char*)Temp);
}
InternetCloseHandle(p->bS);
p->bS = NULL;
p->result = true;
}
InternetCloseHandle(p->session);
p->session = NULL;
}
}

static int urlAccess(const char* url, std::string& request, int timeOutSecs)
{
PARA *p1 = new PARA();
p1->url = url;

DWORD id;
int result = -1;
HANDLE hThread = CreateThread(NULL, 0, thread_access, p1, 0, &id);

if (WaitForSingleObject(hThread,timeOutSecs*1000))
{
std::cout << "TIME" << std::endl;
if (p1->bS != NULL)
{
InternetCloseHandle(p1->bS);
}
if (p1->session != NULL)
{
InternetCloseHandle(p1->session);
}
}

if (p1->result)
{
request.append(*(p1->requst));
result = 1;
}
result = 0;

if (hThread)
{
CloseHandle(hThread);
}
return result;
}
全部回答
一般都是远程VTY登录,使用完如果不退出的话,机器上的vty线路连接一直被占用。 如此直到vty线路北占满,然後,你就无法通过vty登录了。 本人就遇到过类似情况,console的密码也不知道,无法进去清除连接,设备为核心交换机也不能重启,蛋疼死了,最後找到了console口密码。才搞定。
你好! 利用wininet访问网络资源,有的网站不存在,会造成时间过长等问题,就想设置超时来解决这个问题,查到了API函数:InternetSetOption,不过这个函数设置之后毫无作用。。。开始查找其他解决方案,最终发现有单独线程的方案可取,也就是利用线程来访问,之后可以通过句柄来监控时间, 仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【立场是什么意思】立场而言是什么意思
下列仪器中,加热时必须垫上石棉网的是______
汽车座椅前后滑动缓慢,电机热了就不走了,是
金塔百文地址在哪,我要去那里办事
一个女人很喜欢跟一个男人聊微信
求一本带空间戒指的修真小说
获麟的意思是什么啊?知道的请说下!
【大象的英文】形容大象的英语单词
无水脆皮蛋糕店地址有知道的么?有点事想过去
年前辞职,年后才办理离职手续,是否有带薪年
国学文以载道以文化人是什么意思
我脾气很怪,发火起来总是往最坏的结果处理,
请问后缀为bkg的文件怎么打开?用什么软件?
驾驶证考试成绩考核全部通过,由于科目一考了
富兰克林罗斯福怎么死的
推荐资讯
一高超市怎么去啊,有知道地址的么
数学题比值可以有单位名称吗
万死一生的意思是什么啊?知道的请说下!
玛热帕提双语幼儿园在什么地方啊,我要过去处
王枋的意思是什么啊?知道的请说下!
肛瘘手术后流绿色的液体正常吗
烤箱预热是风扇声音响
福彩3d出什么号a
我们家的火王天燃气热水器JSQ16-E8烧到40℃出
手机版美图秀秀能把人转换成铅笔素描的吗
补汤喝多了会不会发胖啊,我可不想长胖
禄数的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?