主题:c++ | 作者:loserwang | 标签: | 浏览(121) | 评论(0) | 06-29 16:30
Project –> settings –> link (Object/library modules) 加入WININET.LIB
#include <afxinet.h>
CString strHeaders =_T(“Content-Type: application/x-www-form-urlencoded”);
// URL-encoded form variables -
CString strFormData = _T(“Content=1&FatherID=4868″);
CInternetSession session;
CHttpConnection* pConnection = session.GetHttpConnection(_T(“www.abc.com“));
CHttpFile* pFile =
pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, _T(“/abc/abc.asp”));
BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormDat a, strFormData.GetLength());
//我给一个简单一点的(MFC):
#include “afxinet.h”
void SubmitWebFormData(void)
{
CString strFormData;
CString strHeaders;
CInternetSession session;
CHttpConnection *pConnection;
CHttpFile *pFile;
BOOL result;
//假设name的值是”YourName”
strFormData=_T(“name=YourName”)
strHeaders=_T(“Content-Type: application/x-www-form-urlencoded”);
try
{
//假设连接到http://127.0.0.1
pConnection=session.GetHttpConnection(_T(“127.0.0.1″));
}
catch(CInternetException *pEx)
{
//异常处理……
}
try
{
//假设响应表单的页面文件叫FileName.asp
pFile=pConnection->OpenRequest(CHttpConnection::HTTP_VERB _POST,
_T(“/FileName.asp”));
}
catch(CInternetException *pEx)
{
//异常处理……
}
try
{
result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormDat a,
strFormData.GetLength());
}
catch(CInternetException *pEx)
{
//异常处理……
}
//善后处理……
}
//////////////////////////////////////////////
Get Method
//////////////////////////////////////////////
CString address_str;
m_address.GetWindowText(address_str);
if(address_str.GetLength()==0)
{
MessageBox(_T(“地址栏没有输入”));
m_address.GetFocus();
return;
}
CString result_str;
CInternetSession mySession;
CHttpResponse res;
res.
CString myData;
CHttpFile* myHttpFile=(CHttpFile*)mySession.OpenURL(address_str);
for(int i=0;i<200&&myHttpFile->ReadString(myData);i++)
{
result_str+=myData+”\r\n”; //因为每次只能读取一行,所以要循环读取数据
}
myHttpFile->Close();
delete [] myHttpFile;
mySession.Close();
m_result.SetWindowText(result
>> 本文固定链接: http://www.vcgood.com/archives/914