CInternetSession OpenURL 中URL太长 不能下载文件

ycf330 2010-04-22 01:56:43
CInternetFile* file =
(CInternetFile*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_BINARY);

file.GetFileName()得到的字符串只是中间的一部分。好像太长的URL会自动截取~~
...全文
356 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycf330 2010-04-26
  • 打赏
  • 举报
回复
get提交的大小有4k,这个应该是没有超过的!~
尹成 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cqsfd 的回复:]
引用 5 楼 jameshooo 的回复:

URL长度有限制,如果需要请求的内容太长,应该改用POST方式发送请求,把长参数放到请求包的BODY里面。

同意
也正是采用GET和POST的主要区别


[/Quote]
正解
cqsfd 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jameshooo 的回复:]

URL长度有限制,如果需要请求的内容太长,应该改用POST方式发送请求,把长参数放到请求包的BODY里面。
[/Quote]
同意
也正是采用GET和POST的主要区别
jameshooo 2010-04-22
  • 打赏
  • 举报
回复
URL长度有限制,如果需要请求的内容太长,应该改用POST方式发送请求,把长参数放到请求包的BODY里面。
ycf330 2010-04-22
  • 打赏
  • 举报
回复
地址的长度如下:
http://192.168.0.11:8888/Ebcd///GETFile.do?PATH=D%253A%255CftpFile%255C%25E9%2597%25BD%25E5%25BB%25BA%25E5%258E%25A6%25E5%259B%25BD%25E6%2596%25BD%255B2010%255D%25E6%258B%259B%25E5%25AD%2597035%25E5%258F%25B7%255CbiddingDocFolder%255C%25E6%2596%25BD%25E5%25B7%25A5%255C%25E6%258B%259B%25E6%25A0%2587%25E6%2596%2587%25E4%25BB%25B6(%25E7%25BB%258F%25E5%25AE%25A1%25E7%259A%2585%25E6%259C%2580%25E4%25BD%258E%25E6%258A%2595%25E6%25A0%2587%25E4%25BB%25B7%25E4%25B8%25AD%25E6%25A0%2587%25E5%258A%259E%25E6%25B3%2595(%25E5%2585%2588%25E8%25AF%2584%25E5%2590%258E%25E6%258A%25BD))%255C%25E7%25AC%25AC%25E5%259B%259B%25E5%258D%25B7%25E6%258A%2595%25E6%25A0%2587%25E6%2596%2587%25E5%25BB%25B6%25E6%25A0%25BC%25E5%25BC%258F%255C%25E7%25AC%25AC%25E5%2585%25AD%25E7%25AB%25A0%25E6%258A%2595%2520%25E6%25A0%2587%2520%25E6%2596%2587%2520%25E4%25BB%25B6%2520%25E6%25A0%25BC%2520%25E5%25BC%258F%255C%25E4%25B8%2580%25E3%2580%2581%25E5%2595%2586%25E5%258A%25A1%25E6%25A0%2587%25E6%258A%2595%25E6%25A0%2587%25E6%2596%2587%25E4%25BB%25B6%25E6%25A0%25BC%25E5%25BC%258F%255C17%25E8%25A7%2584%25E8%25B4%25B9%25E6%25B8%2585%25E5%258D%2595%25E8%25AE%25A1%25E4%25BB%25B7%25E8%25A1%25A8.ppt
ycf330 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 aa3000 的回复:]
名称而已,
[/Quote]关键是不能下载文件 readlen = file->Read(buf,1024); readlen 等于0;
aa3000 2010-04-22
  • 打赏
  • 举报
回复
名称而已,
oysoft 2010-04-22
  • 打赏
  • 举报
回复
CInternetFile间接继承CFile,而GetFileName最大返回_MAX_FNAME=256字节长度
MFC源码:

CString CFile::GetFileName() const
{
ASSERT_VALID(this);

CFileStatus status;
GetStatus(status);
CString strResult;
AfxGetFileName(status.m_szFullName, strResult.GetBuffer(_MAX_FNAME),
_MAX_FNAME);
strResult.ReleaseBuffer();
return strResult;
}

18,356

社区成员

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

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