PdbLib/UpLoader/HTTP/CHttpHeader.h
2025-06-05 10:51:52 +08:00

50 lines
1.3 KiB
C++

#pragma once
#include <stdio.h>
#include <tchar.h>
#include <string>
#include <map>
#include <Windows.h>
#include <winhttp.h>
#include "http_defines.h"
using namespace std;
class CHttpHeader
{
public:
CHttpHeader();
CHttpHeader(const char* pHeader);
CHttpHeader(const std::string& strHeader);
CHttpHeader(CHttpHeader&& rhs);
virtual ~CHttpHeader(void);
const std::string& getHttpVersion()const { return http_version_; }
void setHttpVersion(const std::string& version) { http_version_ = version; }
void setRequestPath(const std::string& path) { request_page_ = path; }
const int GetHttpCode()const { return http_code_; }
const char* GetContent()const { return http_response_.c_str(); }
std::string GetValue(const std::string& strKey);
void addHeader(const std::string& key, const std::string& value);
void setUserAgent(const std::string& userAgent);
void setHost(const std::string& host);
void setRange(__int64 range);
//转成http请求头
std::string toString(HttpRequestType type);
//转成http请求头列表
std::string toHttpHeaders();
protected:
//解析HTTP头结构
bool Revolse(const std::string& strHeader);
private:
int http_code_;
std::string http_version_;
std::string http_response_;
std::string request_page_;
std::map<std::string, std::string> http_headers;
};