CHttpFile发送数据? 本帖最后由 VisualEleven 于 2011-02-16 11:00:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 VisualEleven 于 2011-02-16 11:00:33 编辑 http://www.99inf.net/SoftwareDev/VC/12391.htm 就是公司有个产品,在IE中的地址栏输入http://192.168.1.1/?action=writemac&mac=0011223344aa就可以修改它的MAC地址~现在就是想用MFC实现这个 你想修改IE这边的MAC地址还是192.168.1.1的MAC地址?好像不管哪边,都用不到CHttpFile。CHttpFile是用来下载文件的。 改192.168.1.1的~CHttpFile这个只能下载文件么~? 直接用socket发送给服务器,可以啊?? 我也有这种疑问我觉得你说的功能和CHttpFile没什么关系 那倒不是。我好像明白你的意思了。192.168.1.1上改MAC部分是做好的,只是需要用web控制一下。你想用CHttpFile在你的程序里代替IE来发送请求对吧。 因为刚接触 可能有的地方描述不是很清楚~其实就是通过CHttpFile 在程序里面给远端的产品发送数据请求,并接收数据~ void CtestDllHSocketDlg::OnBnClickedPostInetSession(){CInternetSession m_InetSession(("session"), 0, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_DONT_CACHE); //设置不缓冲 CHttpConnection* pServer = NULL; CHttpFile* pFile = NULL; CString strHtml = "";CString strRequest = "username=testuser&userpwd=123456"; //POST过去的数据 //username=testuser&userpwd=123456&btnSubmit=%E7%AB%8B%E5%8D%B3%E7%99%BB%E5%BD%95CString strHeaders = "Accept: */*\r\nAccept-Language: zh-cn\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"; try{ INTERNET_PORT nPort; //web服务器的端口,一般为80。 nPort=80; //浏览器提交值到 http://my.58.com/submit/login/pServer = m_InetSession.GetHttpConnection("http://my.58.com/submit/login", nPort);// pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/");//test.php为web服务器端数据接收地址 pFile->AddRequestHeaders(strHeaders);int lenstr = strRequest.GetLength(); pFile->SendRequestEx(strRequest.GetLength()); pFile->WriteString(strRequest); //传送要发送的数据。 pFile->EndRequest(); DWORD dwRet; pFile->QueryInfoStatusCode(dwRet); int nRead; if (dwRet == HTTP_STATUS_OK) { CString strLine; while ((nRead = pFile->ReadString(strLine))>0) { strHtml += strLine; } AfxMessageBox(strHtml); } delete pFile; delete pServer; } catch (CInternetException* e) { e->m_dwContext; } 楼上这位高手谢谢你请问你这个是不是建立了一个server?我只是想做一个简单的发送和接受数据的东西~产品那边的代码我不管~芯片厂商已经做好了,我按下一个按钮,就能发出http://192.168.1.1/?action=writemac&mac=0011223344aa,然后接受那边的数据,看看是不是把mac地址修改好了~ 谢谢各位的关注~我已经做好了一个收发的软件但是其中还有几个问题没有找到解决的办法1.操控这个产品需要登录~这个登录不是在网页上的,而是弹出一个window,让你输入用户名和密码。2.我现在得到的数据显示在msgbox,发现里面有HTML的语句,请问怎么把这些去掉。再次谢谢各位了! 调用Dll传出map参数问题 关于MessageBox和TextOut 的问题 小弟我想用Microsoft communications control控件做串口调试软件,遇到了一些问题. 关于Win32 SDK中InvalidateRect()的问题! 请问怎样改变visual C++编辑器中的字体和颜色 控件中的ID值是什么类型的数据类型 help me 不用驱动的前提下,如何监听USB设备的插入 一个公司人员工资信息系统的设计与开发(用VC++和MFC实现) VC 对数据库编程的小问题? 为了忘却的纪念 TOOLBAR的按钮没有全部显示出来?
就可以修改它的MAC地址~
现在就是想用MFC实现这个
好像不管哪边,都用不到CHttpFile。CHttpFile是用来下载文件的。
CHttpFile这个只能下载文件么~?
我觉得你说的功能和CHttpFile没什么关系
其实就是通过CHttpFile 在程序里面给远端的产品发送数据请求,并接收数据~
void CtestDllHSocketDlg::OnBnClickedPostInetSession()
{CInternetSession m_InetSession(
("session"),
0,
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
INTERNET_FLAG_DONT_CACHE); //设置不缓冲
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
CString strHtml = "";CString strRequest = "username=testuser&userpwd=123456"; //POST过去的数据
//username=testuser&userpwd=123456&btnSubmit=%E7%AB%8B%E5%8D%B3%E7%99%BB%E5%BD%95
CString strHeaders = "Accept: */*\r\nAccept-Language: zh-cn\r\nContent-Type: application/x-www-form-urlencoded\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"; try{
INTERNET_PORT nPort; //web服务器的端口,一般为80。
nPort=80; //浏览器提交值到 http://my.58.com/submit/login/
pServer = m_InetSession.GetHttpConnection("http://my.58.com/submit/login", nPort);//
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/");//test.php为web服务器端数据接收地址
pFile->AddRequestHeaders(strHeaders);
int lenstr = strRequest.GetLength();
pFile->SendRequestEx(strRequest.GetLength());
pFile->WriteString(strRequest); //传送要发送的数据。
pFile->EndRequest();
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet); int nRead;
if (dwRet == HTTP_STATUS_OK)
{
CString strLine;
while ((nRead = pFile->ReadString(strLine))>0)
{
strHtml += strLine;
}
AfxMessageBox(strHtml);
}
delete pFile;
delete pServer; }
catch (CInternetException* e)
{
e->m_dwContext;
}
谢谢你
请问你这个是不是建立了一个server?
我只是想做一个简单的发送和接受数据的东西~产品那边的代码我不管~芯片厂商已经做好了,
我按下一个按钮,就能发出http://192.168.1.1/?action=writemac&mac=0011223344aa,然后接受那边的数据,看看是不是把mac地址修改好了~
但是其中还有几个问题没有找到解决的办法
1.操控这个产品需要登录~这个登录不是在网页上的,而是弹出一个window,让你输入用户名和密码。
2.我现在得到的数据显示在msgbox,发现里面有HTML的语句,请问怎么把这些去掉。
再次谢谢各位了!