本文目录
- InternetOpenUrl如何判断打开的是不是重定向地址
- CB/VC都可以,internetopen函数的最后一个参数internet_flag_async
- InternetOpenUrl能不能设置超时的时间
- internetopenurlfailed什么意思
- 洛奇英雄传internetopen failed错误怎么解决
- 求详解InternetOpenA这个API第一个参数,应该要怎么填
- 高分请教,InternetOpen怎么使用socks代理
- vba FTP连接Internetopen每次返回的句柄都一样,断开网络也不会出错怎么回事
- 路由器连接了电脑但是打开时显示internet open url failed并且不能上网怎么办
InternetOpenUrl如何判断打开的是不是重定向地址
m_hIS = InternetOpenUrl(m_hIO, url, NULL, 0, INTERNET_FLAG_NO_AUTO_REDIRECT, 0);
DWORD dwErr = ::GetLastError(); //查看是否为302状态码即判断打开的url是否为重定向地址
TRACE(“dwErr: %d“, dwErr); //dwErr为0
CB/VC都可以,internetopen函数的最后一个参数internet_flag_async
同步:提交请求-》等待服务器处理-》处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发-》服务器处理(这是浏览器仍然可以作其他事情)-》处理完毕
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。
所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
举个例子 打电话是同步 发消息是异步
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;
}
-pen
internetopenurlfailed什么意思
internet open url failed
互联网打开url (统一资源定位器)失败
希望可以帮到你
望采纳
洛奇英雄传internetopen failed错误怎么解决
重启即可,但此方法不一定有效,
4.另一种方法:找到 C:F /t
2.将下面的代码(现在你的桌面上新建个文本文档然把代码复制进去)另存为;f ;r /d y icacls ;C:WindowsSystem32LogFilesWMI; /grant administrators,2提供的方法不好,可以采用.bat格式(名字自己娶一个就好:在此计算机上的配置错误阻止此连接。
错误详情,打开命令行CMD(以管理员运行),输入netsh winsock reset 回车.bat宽带错误711意思为,然后双击运行一下711.如果觉得1;C: 这个问题较为纠结:WindowsSystem32LogFilesWMI 这个文件夹,只要将这个文件夹管理员取得所有权然后重启就行了! 使用魔方在系统设置右键菜单管理里面新增“获得管理员权限”的功能,代码为
@ECHO OFF
takeown :WindowsSystem32LogFilesWMI; 。
1,我设为711.bat) 放到不易删除的地方.单击“开始” “所有程序” “启动“,在启动上右键打开 将711.bat复制到打开的窗口里,重新启动计算机即可。
3
-net
求详解InternetOpenA这个API第一个参数,应该要怎么填
“User Agent“也被称为是用户代理,现在被广泛用来标识浏览器客户端信息。User Agent在互联网早期就已经存在,那时互联网是完全基于文本的,用户直接浏览器互联网时需要敲入各种键盘命令。后来开发人员开发出多种浏览工具来帮助进行互联网浏览,这些工具就被称为是用户“代理”(User Agent),因为这些工具模仿用户敲入命令的行为,但是用户并不需要了解获取信息的复杂命令。目前几乎所有人都采用网络浏览器来作为用户代理User Agent。
-pen
高分请教,InternetOpen怎么使用socks代理
1.ks5的安装包最新版本是socks5-v1.0r11.tar.gz
2.软件包
#tar xvfz socks5-v1.0r11.tar.gz
3.开始编译
#cd socks5-v1.0r11
#./configure --with-threads
#make
#make install
4.建立/etc/socks5.conf,其实在软件包里已经有现成的examples
#cd examples
#cp socks5.conf.singlehomed /etc/socks5.conf (我们挑选一个最简单的配置文件)
默认配置就是
# A Socks5 Config file for a normal, single homed server
permit - - - - - -
这个配置文件是允许任何人都可以使用这个socks5代理,并不需要验证
如果想限制只是某个IP段(192.168.0.0/255.255.255.0)可以访问,可以改成
permit - - 192.168.0. - - -
或者只允许某个IP(192.168.0.10)可以访问使用,可以改成
permit - - 192.168.0.10 - - -
5.ok 运行一下socks5 -t 启动socks5服务,然后用QQ测试一下代理是否生效,记住默认端口是1080
反正我是在FTP软件和QQ上试了 都没问题。
6.如果要停止socks5,只要运行stopsocks -KILL就行,socks5就会停止!
7.使用非默认端口:如果你想让socks5服务启动的时候不启动默认监听端口1080,比如为1234,我们可以运行如下命令
socks5 -b 1234 -t 当然你关掉这个服务,就必须用下面的命令 stopsocks -p 1234 -KILL
8.我们来深入配置一下socks5.conf,使socks5使用用户验证机制
要使用用户验证,首先要建立/etc/socks5.pwsswd文件
内容为:(userA代表用户名。passwdA代表用户userA的密码)
#/etc/socks5.passwd
userA passwdA
userB passwdB
userC passwdC
然后修改/etc/socks5.conf
添加下列语句
auth - - u
或者把:
auth - - -改成auth - - u
添加:
把默认permit - - - - - - 改成permit u - 192.168.0. - - -
即允许来自192.168.0.0/255.255.255.0网段的任何经过用户认证的连接
如果你不想把密码文件存在默认的/etc/socks5.passwd里。想存在自定义的文件,比如/etc/qq.passwd
那就得修改/etc/socks5.conf.添加一项参数
set SOCKS5_PWDFILE /etc/qq.passwd
ok!重启一下服务,这时如果不输入正确的用户名和密码是使用不了socks5代理服务器的,输入正确的用户名和密码便可使用。
以上说的参数,大家可以结合使用,比如限制某个IP段使用socks5服务,而且要使用用户名验证.
-net
vba FTP连接Internetopen每次返回的句柄都一样,断开网络也不会出错怎么回事
这个句柄是空闲的 可用的句柄 谁申请 谁就拿过来用 没人申请 就一直放着
你可以在不关闭句柄的情况下 多次open 你就能知道句柄是不一样的
路由器连接了电脑但是打开时显示internet open url failed并且不能上网怎么办
1.首先你要登录路由器管理界面看下路由器是不是正常获取公网ip了,如果没有的话你肯定就无法上网的;
2.其次,建议你重启下路由器或者重置下路由器试试;
3.检查下你的电脑是不是能正常获取ip地址和DNS地址;
-pen