gpt4 book ai didi

go - 为什么不使用 go-pkg-rss 返回 Atom 项目标题?

转载 作者:IT王子 更新时间:2023-10-29 01:50:30 25 4
gpt4 key购买 nike

要么我疯了,要么我不理解指针数组,要么图书馆坏了。也许你能帮忙。以下代码似乎可以很好地获取 Atom 项目,但查看它们的标题时返回的是空字符串。

(这恰好是通过http实现的,我不认为这是问题,但当然一切皆有可能。)

package main

import (
"fmt"
rss "github.com/jteeuwen/go-pkg-rss"
"net/http"
"os"
)

var items []*rss.Item
var channels []*rss.Channel

func hello(w http.ResponseWriter, r *http.Request) {
feed := rss.New(5, true, chanHandler, itemHandler)
url := "http://stackoverflow.com/feeds"
feed.Fetch(url, nil)
fmt.Printf("Sent fetch for %s\n", url)
fmt.Fprintf(w, "There are %d items in %s\n\n", len(items), url)
for key, value := range items {
fmt.Fprintf(w, "%d: %s\n\n", key, value.Title)
}
}

func main() {
http.HandleFunc("/", hello)
http.ListenAndServe(":"+os.Getenv("PORT"), nil)
}

func chanHandler(feed *rss.Feed, newchannels []*rss.Channel) {
channels = newchannels
}

func itemHandler(feed *rss.Feed, ch *rss.Channel, newitems []*rss.Item) {
items = newitems
}

最佳答案

“go-pkg-rss”包在读取响应方面存在一些错误。

有很多类似的包,我试着用另一个复制你的例子(我认为它更简单):

import (
"fmt"
"github.com/SlyMarbo/rss"
"net/http"
"os"
)

func hello(w http.ResponseWriter, r *http.Request) {
url := "http://stackoverflow.com/feeds"
feed, _ := rss.Fetch(url)
fmt.Printf("Sent fetch for %s\n", url)
fmt.Fprintf(w, "There are %d items in %s\n\n", len(feed.Items), url)
for key, value := range feed.Items {
fmt.Fprintln(w, key, value.Title)
}
}

func main() {
http.HandleFunc("/", hello)
http.ListenAndServe(":"+os.Getenv("PORT"), nil)
}

关于go - 为什么不使用 go-pkg-rss 返回 Atom 项目标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18935911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com