CHttpFile.SendRequest 返回500错误

努力学习_提高自己 2012-06-20 05:59:53
客户端向服务端POST了一段数据,结果返回了500错误(未知的服务器错误)。

经调试发现,错误与发送的数据有关。

函数原型:
BOOL SendRequest(
LPCTSTR pstrHeaders = NULL,
DWORD dwHeadersLen = 0,
LPVOID lpOptional = NULL,
DWORD dwOptionalLen = 0
);
BOOL SendRequest(
CString& strHeaders,
LPVOID lpOptional = NULL,
DWORD dwOptionalLen = 0
);

传递了一个BYTE * 指针的buf以及长度进来,怀疑与此buf内的数据有关,所以测试了下。
当buf内是一个字符串时,发送正常,返回200。
当我在buf中加入了读取的文件内容,跟踪内存,在buf中有不少的0,这个时候发送请求就返回了500.
怀疑是不是lpOptional不能发送带0的内存?只能传递字符串?

请大家帮忙解惑。谢谢
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
服务端拒绝。
[/Quote]
不能通过SendRequest发送包含0的数据段吗?
  • 打赏
  • 举报
回复
自己顶一下。

之前文件内容包含多处0,因此我进行了一次base64编码。然后再传输,发现就可以了。
可是我的需求是要将文件直接发过去。。。
如何解决呢
e3internet 2012-06-20
  • 打赏
  • 举报
回复
服务端拒绝。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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