本帖最后由 VisualEleven 于 2011-02-16 11:00:34 编辑

解决方案 »

  1.   

    本帖最后由 VisualEleven 于 2011-02-16 11:00:33 编辑
      

  2.   

    http://www.99inf.net/SoftwareDev/VC/12391.htm
      

  3.   

    就是公司有个产品,在IE中的地址栏输入http://192.168.1.1/?action=writemac&mac=0011223344aa
    就可以修改它的MAC地址~
    现在就是想用MFC实现这个
      

  4.   

    你想修改IE这边的MAC地址还是192.168.1.1的MAC地址?
    好像不管哪边,都用不到CHttpFile。CHttpFile是用来下载文件的。
      

  5.   

    改192.168.1.1的~
    CHttpFile这个只能下载文件么~?
      

  6.   

    直接用socket发送给服务器,可以啊??
      

  7.   

    我也有这种疑问
    我觉得你说的功能和CHttpFile没什么关系
      

  8.   

    那倒不是。我好像明白你的意思了。192.168.1.1上改MAC部分是做好的,只是需要用web控制一下。你想用CHttpFile在你的程序里代替IE来发送请求对吧。
      

  9.   

    因为刚接触 可能有的地方描述不是很清楚~
    其实就是通过CHttpFile 在程序里面给远端的产品发送数据请求,并接收数据~
      

  10.   


    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;
      }
      

  11.   

    楼上这位高手
    谢谢你
    请问你这个是不是建立了一个server?
    我只是想做一个简单的发送和接受数据的东西~产品那边的代码我不管~芯片厂商已经做好了,
    我按下一个按钮,就能发出http://192.168.1.1/?action=writemac&mac=0011223344aa,然后接受那边的数据,看看是不是把mac地址修改好了~
      

  12.   

    谢谢各位的关注~我已经做好了一个收发的软件
    但是其中还有几个问题没有找到解决的办法
    1.操控这个产品需要登录~这个登录不是在网页上的,而是弹出一个window,让你输入用户名和密码。
    2.我现在得到的数据显示在msgbox,发现里面有HTML的语句,请问怎么把这些去掉。
    再次谢谢各位了!