请教 HttpOpenRequest 函数,第三个参数的用法

_Elaine 2011-12-19 05:44:20
我要用C++ 在VS2010中用MFC 以HTTP协议 实现 文件的 上传功能
要用到 InternetOpen,InternetConnect, HttpOpenRequest,HttpSendRequest 这几个函数来完成

但是 其中 函数
HINTERNET HttpOpenRequest(
__in HINTERNET hConnect,
__in LPCTSTR lpszVerb,
__in LPCTSTR lpszObjectName,
__in LPCTSTR lpszVersion,
__in LPCTSTR lpszReferer,
__in LPCTSTR *lplpszAcceptTypes,
__in DWORD dwFlags,
__in DWORD_PTR dwContext
);
的 第三个参数 lpszObjectName 为页面的地址

但是为什么,我任意写一个页面的地址,这个函数都是返回成功呢??
不知道这个参数怎么用,导致我要上传的文件不能上传

各位大侠,谁有相关经验,多谢指教!!
...全文
546 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuisjx 2014-08-21
  • 打赏
  • 举报
回复
4楼,按照你的例子,我调用 BOOL bRequest = HttpSendRequest(hGETs, Headers, strlen(Headers), PostData,strlen(PostData)); int nErr=GetLastError(); 总是返回12005,The URL is invalid 能帮忙解答下么,找不到原因急死了
  • 打赏
  • 举报
回复
那个参数不能随便使用我给你举个例子。 url = http://119.188.72.124/merger.ishare.down.sina.com.cn/12775901.exessig=bPhxl6PxuT&Expires=1394899200&KID=sina,ishare&fn=editplus.exe&corp=1 第三个参数填merger.ishare.down.sina.com.cn/12775901.exe?ssig=bPhxl6PxuT&Expires=1394899200&KID=sina,ishare&fn=editplus.exe&corp=1
_Elaine 2011-12-27
  • 打赏
  • 举报
回复
没人回答,只能这样结帖了。。

CButton button;(声明为类成员)
button.Create("复选框", WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, CRect(100, 100, 110, 105),this, 1234);(可以放在初始化函数中)
PS:BS_AUTOCHECKBOX将按钮指定为复选框(checkbox)

mfc checkbox 是哪个类
mango1357 2011-12-27
  • 打赏
  • 举报
回复
如何获取文件修改时间,包括时分秒

BOOL GetFileAttributesEx(
LPCTSTR lpFileName,
GET_FILEEX_INFO_LEVELS fInfoLevelId,
LPVOID lpFileInformation
);

lpFileName:文件名
fInfoLevelId: 就传这个GetFileExInfoStandard
lpFileInformation: 传入一个WIN32_FILE_ATTRIBUTE_DATA结构的指针。

typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;

从结构中可以取出创建时间和最后访问时间。是FILETIME类型的:

typedef struct _FILETIME {
DWORD dwLowDateTime; /* low 32 bits */
DWORD dwHighDateTime; /* high 32 bits */
} FILETIME, *PFILETIME, *LPFILETIME;


再调用下面这个函数转换为SYSTEMTIME,年月日时分秒就都出来了:

BOOL FileTimeToSystemTime(
const FILETIME* lpFileTime,
LPSYSTEMTIME lpSystemTime
);

_Elaine 2011-12-20
  • 打赏
  • 举报
回复
就没有一个知道的

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧