草庐IT

高语 : Setting header to null for a file://to http://request not working

coder 2024-07-11 原文

This answer 关于静态到静态 (file://-> file://) 指出网络服务器 (http://) 可用于在不违反 CORS 的情况下将文件提供给本地静态页面 (file://) . this answer 指出,当从网络服务器向静态页面发送数据时,必须使用 null header 。但是下面两行都不起作用,那么我该怎么做呢?

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", nil) //this line
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

返回错误 ./main.go:42: cannot use nil as type string in argument to w.Header().Add

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", "")
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

这会编译但会抛出客户端错误:跨域请求被阻止:同源策略不允许读取位于 http://localhost:8080/aardvark/posts 的远程资源。 (原因:缺少 CORS header “Access-Control-Allow-Origin”)

最佳答案

写完这个问题后,我绝望地想尝试最后一件事,结果成功了。

func handler(w http.ResponseWriter, r *http.Request) {
    w.Header().Add("Access-Control-Allow-Origin", "null")
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

您应该将字符串设置为 "null",而不是空字符串 ""nil

如果你觉得这个问题不属于SO,欢迎留言,我会及时撤下。

关于高语 : Setting header to null for a file://to http://request not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966549/

有关高语 : Setting header to null for a file://to http://request not working的更多相关文章

  1. php - 高语 : create a function that accept an interface (I came from PHP) - 2

    在PHP中我可以创建一个接口(interface)interfaceHello{publicfunctionbar();}以及一些实现它的类finalclassFooimplementsHello{publicfunctionbar(){//dosomething}}finalclassBarimplementsHello{publicfunctionbar(){//dosomething}}然后,我还可以创建一个接受该接口(interface)的NewClass::bar()方法。finalclassNewClass{publicfunctionbar(Hello$hello){//

  2. 高语 : Setting header to null for a file://to http://request not working - 2

    Thisanswer关于静态到静态(file://->file://)指出网络服务器(http://)可用于在不违反CORS的情况下将文件提供给本地静态页面(file://).thisanswer指出,当从网络服务器向静态页面发送数据时,必须使用nullheader。但是下面两行都不起作用,那么我该怎么做呢?funchandler(whttp.ResponseWriter,r*http.Request){w.Header().Add("Access-Control-Allow-Origin",nil)//thislinefmt.Fprintf(w,"Hithere,Ilove%s!",

  3. 高语 : Allocating Slice of Slices in functions results in index out of range - 2

    我一直在用Go尝试一些东西,但遇到了一个我无法解决的问题。packagemainimport"fmt"import"strconv"funcwriteHello(iint,){fmt.Printf("hello,world"+strconv.Itoa(i)+"\n")}typeSliceStructstruct{data[][]int;}func(sSliceStruct)New(){s.data=make([][]int,10);}func(sSliceStruct)AllocateSlice(iint){s.data[i]=make([]int,10);}func(sSliceSt

  4. 高语 : getting this error upon go install - 2

    我在键入“goinstall”时收到此错误消息。root@kali:~/Scripts/Enum/gobuster#goinstallgoinstall:noinstalllocationfordirectory/root/Scripts/Enum/gobusteroutsideGOPATHFormoredetailssee:gohelpgopath我的“goenv”如下。root@kali:~/Scripts/Enum/gobuster#goenvGOARCH="386"GOBIN=""GOEXE=""GOHOSTARCH="386"GOHOSTOS="linux"GOOS="lin

  5. 高语 : "No common algorithm for key exchange" error - 2

    我是GoLang的新手,我正在尝试使用go连接到远程服务器。但是我不断收到以下错误Failedtodial:ssh:handshakefailed:ssh:nocommonalgorithmforkeyexchange;clientoffered:[curve2****-sh****@libssh.org****-sha*-nis****ecdh-sha2-nistp384ecdh-sha2-nistp****diffie-hellman-group14-sha1diffie-hellman-group1-sha1],serveroffered:[diffie-hellman-grou

  6. xml - 高语 : Refactoring xml tag definition in struct - 2

    typeSocialstruct{XMLNamexml.Name`xml:"social"`Facebookstring`xml:"facebook"`Twitterstring`xml:"twitter"`Youtubestring`xml:"youtube"`}在上面的示例中,我在多个结构中重用了xml:"facebook"。我想知道我是否可以将它提取为常量并在所有结构中引用它。或者是您必须如何定义我通读了规范/文档但没有找到实现此目的的具体方法。这可能吗?PS:我的目的是减少重复代码,因为在创建新结构时很容易输入错误(这种情况在我身上发生过几次)。 最

  7. xml - 高语 : Refactoring xml tag definition in struct - 2

    typeSocialstruct{XMLNamexml.Name`xml:"social"`Facebookstring`xml:"facebook"`Twitterstring`xml:"twitter"`Youtubestring`xml:"youtube"`}在上面的示例中,我在多个结构中重用了xml:"facebook"。我想知道我是否可以将它提取为常量并在所有结构中引用它。或者是您必须如何定义我通读了规范/文档但没有找到实现此目的的具体方法。这可能吗?PS:我的目的是减少重复代码,因为在创建新结构时很容易输入错误(这种情况在我身上发生过几次)。 最

  8. mysql - 高语 : Losing scope in database - 2

    Go的新手,来自.Net-land,所以请多多包涵...希望获得一些关于构建我的Go应用程序的指导,特别是在管理和重用数据库连接方面。我已将我的数据库代码拆分到一个包中,以允许将数据库查找到像存储库层一样处理sql查找的包中。我希望能够灵活地将我的数据库层与我的应用程序服务分离,这样我就可以在必要时轻松替换我的数据库。基本上,我正在寻找有关如何以及何时在应用程序中处理sql连接和保存sql.DB指针的指导。我需要在main.go中保留一个全局指针,还是可以在我的mysql包中管理连接?这是我的代码:packagemysqlstorageimport("database/sql""fmt

  9. mysql - 高语 : Losing scope in database - 2

    Go的新手,来自.Net-land,所以请多多包涵...希望获得一些关于构建我的Go应用程序的指导,特别是在管理和重用数据库连接方面。我已将我的数据库代码拆分到一个包中,以允许将数据库查找到像存储库层一样处理sql查找的包中。我希望能够灵活地将我的数据库层与我的应用程序服务分离,这样我就可以在必要时轻松替换我的数据库。基本上,我正在寻找有关如何以及何时在应用程序中处理sql连接和保存sql.DB指针的指导。我需要在main.go中保留一个全局指针,还是可以在我的mysql包中管理连接?这是我的代码:packagemysqlstorageimport("database/sql""fmt

  10. 高语 : Memory allocation for type inheritance and casting in Go - 2

    在Go中,如果我有一个继承自的自定义类型,假设是一个整数片段,如果我将一个整数数组转换为我的自定义类型,是否会涉及新的内存分配?http://play.golang.org/p/cNpKELZ3X-:packagemainimport("fmt")typeMyIntsArray[]intfunc(aMyIntsArray)Sum()int{sum:=0for_,i:=rangea{sum+=i}returnsum}funcmain(){myInts:=[]int{1,2,3,5,7,11}myIntsArr:=MyIntsArray(myInts)fmt.Println(fmt.Spr

随机推荐