C++访问网页

// Post Specified data to web server
// By Jim Dai 2011
// buf: content to post
// blocksize: block size
// strHttpName: destination url 
CString CUploader::UploadBinary(char * buf, UINT blocksize,CString strHttpName)
{
	//CString strHttpName= "http://localhost/lab/upload/upload.php"; // 需要提交数据的页面
	//CString strHttpName= "http://localhost/lab/upload/handshake.php";
    //CString strFormData = buf;    // 需要提交的数据

    CInternetSession sess;
    CHttpFile* fileGet;
    CString strHeaders = "Content-Type: application/x-www-form-urlencoded"; // 请求头

    try
    {
        fileGet=(CHttpFile*)sess.OpenURL(strHttpName);//打开文件
    }
    catch(CException* e)
    {
        fileGet = 0;
        throw;
    }

    CString strSentence, strGetSentence = "";
    if(fileGet)
    {
        DWORD dwStatus;
        DWORD dwBuffLen = sizeof(dwStatus);
		CString st	=	"";
        BOOL bSuccess = fileGet->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, &dwStatus, &dwBuffLen);
        if( bSuccess && dwStatus>= 200 &&dwStatus<300 )
        { 
			BOOL result = fileGet->SendRequest(strHeaders, (LPVOID)buf, blocksize);
			//BOOL result = fileGet->SendRequest(strHeaders, (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
			while(fileGet->ReadString(strSentence))    // 读取提交数据后的返回结果
            {
		
				strGetSentence = strGetSentence + strSentence;
            }
            return strGetSentence;
        }
        else 
        {
            return "ERROR 404";
        }
        
        fileGet->Close();
        delete fileGet;
    }
    else
        return "ERROR 404";
    sess.Close();
	return "ERROR 404";
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值