服务器返回302,无法下载URL重定向后的文件

Jovan_yang 2012-10-15 01:29:32
我最近在做一个自动下载的毕业设计,用的是socket。假设原始网页URL是a,我get其内容后,服务器返回302,我了解了是重定向的原因,于是我在HTTP头中找到Location后获得了重定向后的URL:假设是b, 接下来,我继续在URL b上get其内容。但是服务器返回404.第一次发帖,期望得到帮助啊!
...全文
1097 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jovan_yang 2012-10-17
  • 打赏
  • 举报
回复
经过仔细看了代码。代码有点小问题。确实在location处取新的URL,就可以下载了。谢谢各位。
Jovan_yang 2012-10-16
  • 打赏
  • 举报
回复
您好,我已经正确找到了重定向后的URL,接着我用socket,get 此URL 的内容,就可以下载了吗?这和3楼说的服务器端伪静态有关系吗?[Quote=引用 5 楼 的回复:]

HTTP的重定向返回的就是302,其重定向地址在Location首部没错,所有浏览器都是这样做的,你需要确认解析的是否正确.这里有HTTP协议的源码,解压后找Web*目录,
http://download.csdn.net/detail/geoff08zhang/4571358
[/Quote]
ctreewang 2012-10-16
  • 打赏
  • 举报
回复
直接从location下载不行?
ShengFei01 2012-10-16
  • 打赏
  • 举报
回复
你向从 Location 得到的地址发请求就可以继续下载。
Jovan_yang 2012-10-16
  • 打赏
  • 举报
回复
您好。我已经从location处找到了新的URL 然后用同样的方法get 重定向后URL的内容。不行呢,但是我把此URL放在浏览器里却可以下载到文件。请问我可能是哪里出问题了?[Quote=引用 8 楼 的回复:]

直接从location下载不行?
[/Quote]
Jovan_yang 2012-10-16
  • 打赏
  • 举报
回复
您好。我已经从location处找到了新的URL 然后用同样的方法get 重定向后URL的内容。不行呢,但是我把此URL放在浏览器里却可以下载到文件。请问我可能是哪里出问题了?[Quote=引用 8 楼 的回复:]

直接从location下载不行?
[/Quote]
Geoff08Zhang 2012-10-15
  • 打赏
  • 举报
回复
HTTP的重定向返回的就是302,其重定向地址在Location首部没错,所有浏览器都是这样做的,你需要确认解析的是否正确.这里有HTTP协议的源码,解压后找Web*目录,
http://download.csdn.net/detail/geoff08zhang/4571358
Jovan_yang 2012-10-15
  • 打赏
  • 举报
回复
请问 要是服务器端伪静态,那我怎么获取重定向后的资源呢?我用的是C++实现的。急求......[Quote=引用 3 楼 的回复:]

这是服务器端伪静态造成的,你无法通过跳转后的网页进行访问,.htaccess任务就是把非要求的URL跳到404去,你那个404可能不是真正的404,而是服务端对你的回应,服务端要是你的,把伪静态去掉,就可以了,若不是你的,无法通过此种方法获得
[/Quote]
franzhong 2012-10-15
  • 打赏
  • 举报
回复
这是服务器端伪静态造成的,你无法通过跳转后的网页进行访问,.htaccess任务就是把非要求的URL跳到404去,你那个404可能不是真正的404,而是服务端对你的回应,服务端要是你的,把伪静态去掉,就可以了,若不是你的,无法通过此种方法获得
Jovan_yang 2012-10-15
  • 打赏
  • 举报
回复
是指向下载内容的啊!!!我在浏览器里输入新的URL就可以下载内容啊!但是用访问URL a 的get方法来访问b服务器却返回404.[Quote=引用 1 楼 的回复:]

重定向不一定指向下载内容啊
[/Quote]
ysnis 2012-10-15
  • 打赏
  • 举报
回复
重定向不一定指向下载内容啊

65,210

社区成员

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

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