以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 请教移动开发如何回复 404 给请求端?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98619)

--  作者:rambowhuang
--  发布时间:2017/4/2 15:40:00
--  [求助] 请教移动开发如何回复 404 给请求端?
在移动开发中,无论如何 请求都会得到 Status Code:
200 OK,
虽然我们加上了, e.WriteString("糟糕,文件未找到!")
但事实上,
Status Code:
200 OK
由于,之前我的网域设过网站,网路蜘蛛也爬过,所以,搜寻引擎老是来请求之前旧的索引网页,
影响网站效能,我想如果我们回复 404 ,是否网路蜘蛛就会更新索引,不再来请求了。

--  作者:rambowhuang
--  发布时间:2017/4/2 15:49:00
--  
补充,
帮助中有提到, 
  • Request
    返回一个HttpListenerRequest对象,适合专业开发人员使用。
     
  • Response
    返回一个HttpListenerResponse对象,适合专业人员使用。
请教,有没有一些简单的范例可以学习?

--  作者:有点色
--  发布时间:2017/4/2 19:47:00
--  

 你可以重定向,如代码

 

e.response.Redirect("/404.htm")

 

对象具体参考

 

https://msdn.microsoft.com/zh-cn/library/system.net.httplistenerresponse_members(v=vs.80).aspx

 

https://msdn.microsoft.com/zh-cn/library/system.net.httplistenerrequest_members(v=vs.80).aspx

 


--  作者:rambowhuang
--  发布时间:2017/4/2 20:31:00
--  
谢谢 有点色老师的回复!
重定向之后,得到 
Status Code:
302 Found
 
  • 302: (Temporarily Moved)


--  作者:有点蓝
--  发布时间:2017/4/4 10:51:00
--  

Select Case e.Path
    Case "404.htm"
        e.Response.StatusCode = 404
        e.Response.StatusDescription = "NOT FOUND"
        Dim postData As Byte() = Encoding.Default.GetBytes("糟糕,文件未找到")
        Dim reqStream As System.IO.Stream = e.Response.OutputStream
        reqStream.Write(postData, 0, postData.Length)
        reqStream.Close()
End Select

--  作者:chen3728060
--  发布时间:2017/12/5 21:56:00
--  

mark