VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 695|回复: 5

[求助] post登录带验证码网站

[复制链接]
21_avatar_middle
在线会员 发表于 2017-3-18 16:22:06 | 显示全部楼层 |阅读模式
3驿站币
post登录带验证码网站,看了syc老大的教程,先获取验证码手动输入,然后再登录,但是教程里面定义的是一个全局的WinHttp对象,在主线程中操作很卡,如何能用到工作者线程中啊?高手帮帮忙





上一篇:在线求助
下一篇:【大神请进】遇到个小问题跪求解答!
51_avatar_middle
online_admins 发表于 2017-3-18 21:45:29 | 显示全部楼层
就正常的在工作线程中调用就可以啦,使用上跟主线程也没什么区别
21_avatar_middle
ico_lz  楼主| 发表于 2017-3-19 12:39:56 | 显示全部楼层
本帖最后由 wzyouni 于 2017-3-19 12:50 编辑
Syc 发表于 2017-3-18 21:45
就正常的在工作线程中调用就可以啦,使用上跟主线程也没什么区别

首先感谢Syc老大,经常回答我的问题,主线程登录了,如何在其他线程中调用啊?

//1.我先在MyDlg.h中定义一个全局的对象
public:
        IWinHttpRequestPtr pHttpReq;

//2.然后在MyDlg.cpp中添加一个按钮函数进行登录
void CMyDlg::OnBnClickedLogin()
{......}

//3.登录成功以后,用下面这段代码获取信息

CString strUrl="******";
//pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
pHttpReq->Open(_T("GET"),strUrl.AllocSysString());
pHttpReq->Send();


//问题来了,上面获取信息的代码放到主线程没有问题能获取到,
//但是如何把这段代码放到其他线程中啊?
//我下面这样操作,会出错:
//1.先在MyDlg.h中定义一个线程函数
public:
        static UINT OnGetData(LPVOID lpParam);

//2.然后在MyDlg.cpp中实现函数
UINT CMyDlg::OnGetData(LPVOID lpParam)
{
        CMyDlg* dlg=(CMyDlg*)lpParam;
        CoInitialize(NULL);
        CString strUrl="******";
//     dlg->pHttpReq.CreateInstance(__uuidof(WinHttpRequest));
        dlg->pHttpReq->Open(_T("GET"),strUrl.AllocSysString());
        dlg->pHttpReq->Send();
        CoUninitialize();
        return 0;
}

//3.调用的时候就出错
AfxBeginThread(OnGetData,this);
post登录带验证码网站
Syc老大看看怎么弄啊?
51_avatar_middle
online_admins 发表于 2017-3-19 23:32:14 | 显示全部楼层
本身你的 IWinHttpRequestPtr pHttpReq; 定义是放在主界面对话框中的,也就是主界面线程,如果你要在工作线程中使用的话就要考虑到多线程共享COM组件对象的问题了。这个知识点我在 《VC实战HTTP之POST高级进阶班》系列课程的第一课中有讲解。实际使用的就是 CoInitializeEx、CoMarshalInterThreadInterfaceInStream、CoGetInterfaceAndReleaseStream 之类的函数来操作COM对象
21_avatar_middle
ico_lz  楼主| 发表于 2017-3-20 00:03:01 | 显示全部楼层
谢谢老大,有问必答,祝VC驿站越办越好
21_avatar_middle
ico_lz  楼主| 发表于 2017-3-20 00:04:54 | 显示全部楼层
Syc 发表于 2017-3-19 23:32
本身你的 IWinHttpRequestPtr pHttpReq; 定义是放在主界面对话框中的,也就是主界面线程,如果你要在工作线 ...

非常感谢,希望Syc越来越帅,VC驿站越办越好
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-21 16:41

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表