首页后端开发GO关于go语言运行404的信息

关于go语言运行404的信息

时间2023-04-05 19:46:01发布访客分类GO浏览1814
导读:go的错误码处理 目录结构: 都在src的目录下主要是web.go 和http.go 的交互,fbn.go做了一个简单的斐波那契数列 先看web.go:``` package main //入口 import ( "exdefer/...

go的错误码处理

目录结构: 都在src的目录下

主要是web.go 和http.go 的交互,fbn.go做了一个简单的斐波那契数列

先看web.go:

```

package main //入口

import (

    "exdefer/filelistenserver/fileting"

    "log"

    "net/http"

    "os"

)

type appHandler func(writer http.ResponseWriter, request *http.Request) error   //定义一个实现错误的方法

func errW(handler appHandler) func(writer http.ResponseWriter, request *http.Request) { //实现上面的方法

    return func(writer http.ResponseWriter, request *http.Request) {

        err := handler(writer, request) //http 的response 和request   设置一个错误的返回值

        if err != nil { // 判断一下

            log.Print("Print array ", err.Error(), "\n") //打印log

            code := http.StatusOK //code 默认设置成200

            switch { //switch选择

            case os.IsNotExist(err): //如果输入的这个文件不存在

                code = http.StatusNotFound //404

            case os.IsPermission(err): //如果权限不够

                code = http.StatusForbidden //403

            default: //否则的话

                code = http.StatusInternalServerError //500

            }

            http.Error(writer, http.StatusText(code), code) //输出 第一个参数 是response,第二个是 错误描述,返回的状态码 在swoole里面是$response-end("") /状态码是$response-status(""); 大同小异

        }

    }

}

func main() {

//第一个值是你要走的url目录 swoole里面通过document_root 进行设置

    http.HandleFunc("/list/", errW(fileting.Handlist)) //调用的http.go的包

    err := http.ListenAndServe(":8888", nil) //监听的端口 第二个值一般给nil

    if err != nil {

        panic(err)

    }

}

```

http.go

```

package fileting //声明包

import (

    "io/ioutil"

    "net/http"

    "os"

)

func Handlist(writer http.ResponseWriter, request *http.Request) error { //方法 返回一个error

    path := request.URL.Path[len("/list/"):] //切片 path访问为localhost:8888/list/xxx.txt 中的xxx.txt

    file, err := os.Open(path) //分开写了,两个返回值

    if err != nil {

        //http.Error(writer, err.Error(), http.StatusInternalServerError)

        return err //直接return err

    }

    defer file.Close() //defer 一下  open完要记得

    all, err := ioutil.ReadAll(file) //对文件的读取

    if err != nil {

        //panic(err)

        return err

    }

    writer.Write(all) //reponse 里面的write 类似swoole $response-end()

    return nil //如果没有错误返回nil

}

```

演示一下:

今日的学习,结束

goagent怎么了,现在不好用了,老是警告,报错

方法/步骤

1.GoAgent无法上网的经验只针对已经配置好GoAgent的用户,并且在谷歌浏览器或者其他浏览器安装了

SwitchySharp,如果不清楚该如何使用GoAgent,那么请百度下GoAgent如何配置,谷歌浏览器SwitchySharp插件如下图所示,也可以选择使用其他浏览器.

2.出现GoAgent不能使用的情况,可能是部分GoAgent被当地屏蔽可能!无法访问203.208.46.8的443端口.

这时候我们只需要在proxy.ini中把所有的 203.208.46.X 替换成 203.208.47.X,重启goagent解决.

3.google_cn服务被屏蔽!

我们可以在proxy.ini中将profile=google_cn改成google_hk ,将[google_hk]段中的mode =

http改为mode = https,重启goagent解决.

4.如果你的GoAgent无法使用,那么有可能是版本更新导致的!这时候我们只需要将软件更新为最近的稳定版本,或者早期稳定版本均可!

5.win7系统GoAgent启动后无法使用!

解决方法:win7系统需要在GoAgent上右键选择“以管理员方式运行”.

6.如果运行GoAgent,出现resolve common .google_hosts domian=字样.

修改你的hosts文件,删除”# 127.0.0.1localhost“

以下的所有部分,因为它可能给GoAgent进行了不正确的解析.HOSTS文件是在“c:\windows\system32\drivers\etc.或者将[google_hk]段中的mode

= http改为mode = https.

7.如果goagent能上国外网站,但是不能上youtube、twitter、facebook,提示证书有问题:

解决办法:chrome证书验证功能发现twiter提供的证书不是信任机构发布的证书.会在url前加s保护,所以打不开连接,你可以使用其他浏览器,或在chrome里更改安全设置,在管理证书选项里,把goagent提供的证书添加到信任机构发行的证书里面.

8.goagent提示Error code 502错误怎么办,下面是错误代码的相关解释:

401:Unauthorized

一般是你处于内网环境中,需要设置proxy.ini里面的proxy段落.还需要检查:Internet属性——》连接(connections)——》局域网设置(LAN

settings)——》代理服务器(Proxy

server)里面打勾,地址和端口应该是127.0.0.1:8087,如果不是可以在proxy.ini中查到.

404:Not Found 一般是proxy.ini里面appid没有填对,或者服务端没有部署成功.

409:一般是您处于内网或者校园网环境,建议您换外网再次上传即可.

503:Service Unavailable 一般是流量用完了,请更换appid.

如果仍然还不能使用,建议下载最新版本客户端

用goagent时出现Error response Error code 502. Message: ['HTTP Error 404: Not Found'怎么办

可能与你安装的软件有冲突,不要安装电脑管家之类的国产软件,参考

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 关于go语言运行404的信息
本文地址: https://pptw.com/jishu/1964.html
老男孩go语言 老男孩go语言第六期网盘 go语言除法异常 golang除法

游客 回复需填写必要信息