http

jiafeimao357 2007-11-22 12:08:15
我用一个http类GenericHTTPClient,各位高手,谁用过?
我这szURL这个值传什么啊?
GenericHTTPClient *m_pClient;
bool BConect = m_pClient->Connect("http://10.1.10.167:8080/dcsportal");
if (BConect==TRUE)
{
CString szURL;
szURL.Format("%s","");
if (m_pClient->Request(szURL))
{
LPCTSTR szHTML = m_pClient->QueryHTTPResponse();
}
else
{
LPVOID lpMsgBuffer;
DWORD dwRet=FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
m_pClient->GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
reinterpret_cast<LPTSTR>(&lpMsgBuffer),
0,
NULL);

MessageBox( reinterpret_cast<LPTSTR>(lpMsgBuffer), "ERROR", MB_OK);
LocalFree(lpMsgBuffer);
}
m_pClient->Close();
}
else
{
AfxMessageBox("connct error");
}
...全文
275 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiafeimao357 2007-11-26
  • 打赏
  • 举报
回复
我改成post了,但是又出现了一个问题,就是Request的时候不对,怎么改?
szURL.Format("%s","http://10.1.10.88:8080/dcsportalv2/insertTguidanceBySEC.action?tguidance.trialid=1313&tguidance.messagetxt=中国人&tguidance.sendusername=admin");
AfxMessageBox(szURL);
DWORD dwMinSize = MultiByteToWideChar(CP_ACP, 0, szURL, -1, NULL, 0);
wchar_t *szURL1;
szURL1 = new wchar_t[dwMinSize];
if(!szURL1)
{
delete []szURL1;
}
MultiByteToWideChar(CP_ACP,0,szURL,-1,szURL1,dwMinSize);
if (m_pClient->Request((const char*)szURL1,GenericHTTPClient::RequestPostMethod))
{
delete []szURL1;
LPCTSTR szHTML = m_pClient->QueryHTTPResponse();
AfxMessageBox(szHTML);
if (szHTML == "true")
{
ListShow(strinfo);
}

}
else
{
LPVOID lpMsgBuffer;
lpMsgBuffer = LocalAlloc(LPTR,1024*1000);
DWORD dwRet=FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
m_pClient->GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
reinterpret_cast<LPTSTR>(&lpMsgBuffer),
0,
NULL);

MessageBox( reinterpret_cast<LPTSTR>(lpMsgBuffer), "ERROR", MB_OK);
LocalFree(lpMsgBuffer);
}
m_pClient->Close();

m_cTextSend.SetWindowText("");
}
xudeli1979 2007-11-23
  • 打赏
  • 举报
回复
这个类没有提供让你向get后的页面添加信息的方法,如果想添加,需要修改这个类,分析收到的http流,把你要添加的信息,放到里面,然后再显示。当然你也可以不用这个类,用浏览器对象webbrowser,去实现,他有让你向get后的页面加信息的方法。
没分配空间(未调用LocalAlloc为后面要输出的错误信息分配空间)也不懂,就需要好好去看书了,务在浮沙筑高台,这是侯捷说的
jiafeimao357 2007-11-22
  • 打赏
  • 举报
回复
"这里还没分配空间呢"
这句也不懂
jiafeimao357 2007-11-22
  • 打赏
  • 举报
回复
?
我还想再传一些信息在这个网页上面显示,怎么做呢?
xudeli1979 2007-11-22
  • 打赏
  • 举报
回复
默认是get方法,请求一个页面不需要connect,你请求哪个页面就传哪个页面的URL
GenericHTTPClient *m_pClient;
CString szURL;
szURL.Format( "%s ", "http://10.1.10.167:8080/dcsportal ");
if (m_pClient-> Request(szURL))
{
LPCTSTR szHTML = m_pClient-> QueryHTTPResponse();
}
else
{
LPVOID lpMsgBuffer; //这里还没分配空间呢,猛将兄
DWORD dwRet=FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
m_pClient-> GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
reinterpret_cast <LPTSTR> (&lpMsgBuffer),
0,
NULL);

MessageBox( reinterpret_cast <LPTSTR> (lpMsgBuffer), "ERROR ", MB_OK);
LocalFree(lpMsgBuffer);
}
m_pClient-> Close();

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧