【发布时间】:2013-09-30 08:43:29
【问题描述】:
我有一个 MFC 应用程序,用于向相应的服务器发送一个发布请求。 这是一个http请求,用于上传文件。
但是需要中止发送的请求。就像用户正在发送一个大文件并且用户应该能够在请求完成之前取消它。
我正在使用 wininet api,
HttpSendRequestEx、InternetWriteFile 和 HttpEndRequest 用于此。
但是一旦发送请求,除非请求完成或超时,否则我无法在两者之间中止它。
请任何人提出取消处理或发送请求的选项。
我尝试了closing the request handles,但请求仍然没有中止。
任何人请帮助.. 提前致谢
【问题讨论】:
-
“中止”是什么意思?如果您的意思是“在提交所有数据并且服务器已启动其处理后强制服务器停止处理请求”,那么 HTTP 协议中没有任何内容支持这一点。您可以关闭句柄从而断开连接,但服务器上的处理可能会继续 - 它只是无法将响应发送回给您。
-
您找到解决方案了吗?我有同样的问题。我已经启动了一个阻塞 HttpSendRequest 的线程。我希望能够根据用户输入取消请求。
标签: visual-c++ mfc httprequest wininet