可以看到的错误是客户端返回的403禁止。GetKeyStats函数。
基于源代码,无需进行身份验证。源代码:https://github.com/timpalpant/go-iex“您感到恐慌的原因是直接在此函数中引发恐慌。
package main
import (
"fmt"
"github.com/timpalpant/go-iex"
"html/template"
"net/http"
)
func process(w http.ResponseWriter, r *http.Request) {
client := iex.NewClient(&http.Client{})
symbols := []string{"AAPL", "SPY"}
stat, err := client.GetKeyStats(symb)
if err != nil {
panic(err)
}
var s []string
for _, symb := range symbols {
s = append(s, fmt.Sprintf("DividendYield: %s", stat.DividendYield))
}
t, _ := template.ParseFiles("Dividends.html")
t.Execute(w, s)
}
func main() {
server := http.Server{
Addr: "127.0.0.1:8080",
}
http.HandleFunc("/process", process)
server.ListenAndServe()
}
可以看到的错误是客户端返回的403禁止。GetKeyStats函数。您是否需要以某种方式对此客户端进行身份验证?无论哪种方式,作为一种语言,这似乎都不是一个相关的问题。"
2020/01/27 03:34:59 http:恐慌服务127.0。0.1:54063:403禁止:禁止
. goroutine 19[运行]: net/超文本传输协议。(*conn)。serve.func1(0xc000162820) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:17670x139恐慌(0x1442140,0xc0002Defb0) /usr/local/opt/go/libexec/src/runtime/panic.go:6790x1b2main.process(0x158d1e0,0xc0001ba000,0xc0001a8000) /Users/ed/Documents/Coding/Golang/src/web/web.go:180x373 net/http.HandlerFunc。ServeHTTP(0x150b0d0,0x158d1e0,0xc0001ba000,0xc0001a8000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:20070x44 net/超文本传输协议。(*ServeMux)。ServeHTTP(0x18d3180,0x158d1e0,0xc0001ba000,0xc0001a8000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:23870x1bd net/http.server处理程序。ServeHTTP(0xc0001640e0,0x158d1e0,0xc0001ba000,0xc0001a8000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:28020xa4 net/超文本传输协议0x875由net/超文本传输协议创建)*服务器)。服务 /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:29280x384 2020/01/27 03:34:59超文本传输协议:恐慌服务127.0.0.1:54064: 403禁止:禁止goroutine 20[运行]: net/超文本传输协议。--12/>1(0xc0001628c0) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:17670x139恐慌(0x1442140,0xc0003Cab90) /usr/local/opt/go/libexec/src/runtime/panic.go:6790x1b2main.process(0x158d1e0,0xc00022d420,0xc0001a6000) /Users/ed/Documents/Coding/Golang/src/web/web.go:180x373 net/http.HandlerFunc。ServeHTTP(0x150b0d0,0x158d1e0,0xc00022d420,0xc0001a6000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:20070x44 net/超文本传输协议。(*ServeMux)。ServeHTTP(0x18d3180,0x158d1e0,0xc00022d420,0xc0001a6000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server.go:23870x1bd net/http.server处理程序。ServeHTTP(0xc0001640e0,0x158d1e0,0xc00022d420,0xc0001a6000) /usr/local/opt/go/libexec/src/net/超文本传输协议/server. go: 2802 0xa4 net/超文本传输协议协议。*服务器)。服务 /usr/local/opt/go/libexec/src/net/超文本传输协议/server. go: 2928 0x384 2020/01/27 03:34:59超文本传输协议:恐慌服务127.0.0.1:54066:403禁止:禁止goroutine 47[运行]:
自上次更新Go库以来,API已发生更改。因此,它似乎用于接受未经验证的API请求,但现在,根据文档,您需要一个令牌:https://iexcloud.io/docs/api/
IEX云使用您帐户的API令牌验证您的API请求。要使用任何IEX云API,必须在每个请求中传递API令牌。如果在发出API请求时未包含API令牌,或者使用了不正确或已禁用的API令牌,IEX Cloud将返回一个错误。
您必须使用文档中建议的最新Go库
https://github.com/goinvest/iexcloud
你提到的确实是timpalpant/go-iex
第33期,在Go语言/go
第36883期之后
尝试首先运行客户机测试。go#TestGetKeyStats()
我的问题是看看你是否能告诉我根本原因,是我的代码还是API源
这里是源代码,而不是API:Go HTTP客户端的goroutine中的恐慌会生成错误消息。
我试图禁用我的AngularJS应用程序中的缓存,但它无法使用以下代码: 当我使用
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。 通常,httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows NT/2000/XP/2003中作为服务运行和在Windows 95/98/ME中作为控制台程序运行. 语法 httpd [ -d serverroot ]
我想测试一个连接到Github api的应用程序,下载一些记录并对其进行处理。我想要一个模拟对象,我做了如下操作: 看起来不错吧?我应该在thenReturn中输入什么(它需要HttpResponse,但我不知道如何创建)。谢谢你的回答。如果你有更好的想法,我将不胜感激。 更新:字符串响应是一个示例响应
我正在从我的角UI调用Spring引导REST服务。只要Spring Boot Rest服务作为Spring Boot应用程序执行,它就运行良好。但是一旦我将其转换为WAR文件并部署在Jboss 6.2.4服务器上,我就会得到404。我看到来自UI的REST服务调用成功,但请求JSON没有通过。在请求JSON上,我正在传递2个字符串和一个上传的excel文件。 这是我的angular UI htt
我正在使用MEAN stack构建的SPA中实现fb身份验证。虽然我已经使用facebook token passport策略成功实现了fb身份验证,但我在保护APIendpoint方面遇到了问题。因为为此,我需要在$http服务中同时传递经过身份验证的用户对象和访问令牌,并且我已经尝试将访问令牌作为用户对象的属性和头属性传递,但仍然是401(未经授权的错误)。下面是我的代码片段。 护照留档显示“
在一段时间内,通过HTTPS与我们的服务器的通信工作得很好。 上周提供商更改了一些东西,从现在开始,我总是得到403错误。 我使用最新的OpenSSL DLLs V0.9.8 我已将UserAgent更改为“Mozilla/5.0(Windows NT 10.0)” SSL方法为“SSLVSSLV23” SSL模式为“SSLMClient” 什么都帮不上忙。:( 这是我得到的日志: