您的位置:首页 > 理论基础 > 计算机网络

MFC HTTP POST转载,参考一下

2011-02-10 11:58 253 查看
转载,参考一下

2002年的东西。

看我的代码(我宝贵的代码啊~不把分全都给我,我就跟你没完!)

void CInternet::Post(CString& csResponse,//反馈,这个就是你要的

const char *szServer,//服务器

INTERNET_PORT& nPort,//端口

const char* szObject,//URI

const char *szData, //正文内容

DWORD& dwHttpStatus,//状态码

BOOL bAutoRedirect)//是否自动转向

{

CInternetSession* pSession = NULL;

CHttpConnection* pConnection = NULL;

CHttpFile* pHttpFile = NULL;

try

{

pSession = new CInternetSession(

NULL,

1,

INTERNET_OPEN_TYPE_PRECONFIG);

pConnection = pSession-> GetHttpConnection(szServer,

nPort,

NULL,

NULL);

DWORD dwFlag= INTERNET_FLAG_EXISTING_CONNECT

| INTERNET_FLAG_RELOAD

| INTERNET_FLAG_DONT_CACHE;

if(!bAutoRedirect)

{

dwFlag = dwFlag| INTERNET_FLAG_NO_AUTO_REDIRECT;

}

pHttpFile = pConnection-> OpenRequest(

CHttpConnection::HTTP_VERB_POST,

szObject,

szServer,

1,

NULL,

NULL,

dwFlag);

pHttpFile-> AddRequestHeaders( "Content-Type: application/x-www-form-urlencoded ",HTTP_ADDREQ_FLAG_ADD_IF_NEW,-1L);

pHttpFile-> SendRequest(NULL,0,

(void *)szData,

strlen(szData));

if (pHttpFile)

{

if (pHttpFile-> QueryInfoStatusCode(dwHttpStatus)!=0)

{// dwHttpStatus = 200;

if (dwHttpStatus < 400)

{

int nRead = 0;

LPSTR pBuffer = new char[1024];

do

{

nRead = pHttpFile-> Read(pBuffer, 1023);

if (nRead != 0)

{

pBuffer[nRead] = 0;

csResponse += pBuffer;

}

} while (nRead != 0);

if(pBuffer)

{

delete pBuffer;

pBuffer = NULL;

}

}

}

}

}

catch (CInternetException* e)

{

e-> Delete();

}

catch (...)

{

}

if (pHttpFile != NULL)

{

pHttpFile-> Close();

delete pHttpFile;

}

if (pConnection != NULL)

{

pConnection-> Close();

delete pConnection;

}

if (pSession != NULL)

{

pSession-> Close();

delete pSession;

}

}

例子:

CInternet internet;

CString csResponse;

unsigned short nPort = 80;

DWORD dwRes = 0;

internet.Post(csResponse, "www.csdn.net ",nPort, "member/login.asp ", "name=111222&pass=rrrrr ",dwRes,TRUE);

AfxMessageBox(csResponse);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: