MFC使用WinHttp实现Http访问

    最近在做MFC和Java搭建的Web平台进行Http通信,尝试了CUrl方式进行通信,可总是提示各种动态链接库的问题以及程序入口点等问题,也尝试了用CSocket的方式模拟Http进行通信,我发送的消息Java平台可以收到,但是Java平台发送给我的消息,一直在CSocket::OnReceive函数中接收不到:这个函数有响应,说明Java平台有数据发送过来,但是Receive函数中接受的数据是空,猜测是Java端和MFC端的字符格式不一样,需要进行一定的转换。最后尝试了WinHttp的方式,终于将问题解决了。以下是相应代码代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;">#include "stdafx.h"
#include <afx.h>
#include <vector>
#include <winhttp.h>
#pragma comment(lib,"winhttp.lib")

int  SplitString(CString str_in, CString chSplit_in,
	BOOL bAllowNullString,std::vector<CString>& data)   //将输入字符串按照指定分隔符进行分割
{   
	data.clear();
	str_in.TrimLeft();   
	str_in.TrimRight();   
	if(str_in.GetLength()==0)   
		return 0;    
	if(chSplit_in.GetLength() == 0)   
	{   
		data.push_back(str_in);
		return 1;   
	}   
	CString s;   
	int n;  
	do 
	{   
		n = str_in.Find(chSplit_in);   
		if(n > 0)   
		{   
			data.push_back(str_in.Left(n));
			str_in = str_in.Right(str_in.GetLength()-n-chSplit_in.GetLength());   
			str_in.TrimLeft();   
		}   
		else if(n==0)   
		{   
			if(bAllowNullString)    
				data.push_back(_T(""));
			str_in = str_in.Right(str_in.GetLength()-chSplit_in.GetLength());   
			str_in.TrimLeft();   
		}   
		else  
		{   
			if((str_in.GetLength()>0)||bAllowNullString)   
				data.push_back(str_in);
			break;   
		}   
	} while(1); 
	return data.size();   
} 

void GetServerAndObjectName(CStri
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC(Microsoft Foundation Class)是微软公司提供的一个用于开发Windows应用程序的C++类库,而WinHTTPWindows HTTP Services)是一组用于操作和管理HTTP协议的应用程序接口(API)。 MFC通过提供一系列封装好的类和函数,简化了Windows应用程序的开发过程。WinHTTP则提供了一些用于创建和管理HTTP请求的功能,使开发者可以在Windows平台上进行HTTP通信。与传统的WinINet相比,WinHTTP更加轻量级和可靠,并具有更好的性能。 使用MFC WinHTTP,开发者可以方便地在自己的应用程序中实现HTTP服务器的请求和响应操作。通过封装好的类和方法,可以实现发送GET和POST请求、设置请求头、处理响应头、获取响应数据等操作。同时,WinHTTP还支持HTTPS协议,并提供了相应的安全机制,保证了数据的安全性。 MFC WinHTTP对于开发需要与网络进行交互的应用程序非常有用。例如,在开发一个聊天软件时,可以使用WinHTTP来发送和接收聊天消息;在开发一个在线视频播放器时,可以使用WinHTTP来请求视频流并进行播放;在开发一个网页爬虫时,可以使用WinHTTP来获取网页内容。 总之,MFC WinHTTP是一个在MFC框架下进行HTTP通信的强大工具。它提供了一套方便易用的API,使得开发者可以轻松地实现HTTP服务器的请求和处理。对于需要进行网络交互的应用程序开发来说,MFC WinHTTP是一个不可或缺的利器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值