Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt" // пакет для форматированного ввода вывода
- "net/http" // пакет для поддержки HTTP протокола
- "strings" // пакет для работы с UTF-8 строками
- "log" // пакет для логирования
- "github.com/RealJK/rss-parser-go"
- )
- func HomeRouterHandler(w http.ResponseWriter, r *http.Request) {
- r.ParseForm() //анализ аргументов,
- fmt.Println(r.Form) // ввод информации о форме на стороне сервера
- fmt.Println("path", r.URL.Path)
- fmt.Println("scheme", r.URL.Scheme)
- fmt.Println(r.Form["url_long"])
- for k, v := range r.Form {
- fmt.Println("key:", k)
- fmt.Println("val:", strings.Join(v, ""))
- }
- rss_chanel(w, r)
- }
- func main() {
- http.HandleFunc("/", HomeRouterHandler) // установим роутер
- err := http.ListenAndServe(":10555", nil) // задаем слушать порт
- if err != nil {
- log.Fatal("ListenAndServe: ", err)
- }
- }
- func rss_chanel(w http.ResponseWriter, r *http.Request) {
- rssObject, err := rss.ParseRSS("http:/" + r.URL.Path)
- if err != nil {
- fmt.Fprintf(w, "<div>")
- fmt.Fprintf(w, "<h1 align='center'>%s\n</h1>", rssObject.Channel.Title)
- fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.Generator)
- fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.PubDate)
- fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.LastBuildDate)
- fmt.Fprintf(w, "</div>")
- for v := range rssObject.Channel.Items {
- item := rssObject.Channel.Items[v]
- fmt.Println()
- fmt.Fprintf(w, "<div style='margin-bottom: 15px'>")
- fmt.Fprintf(w, "<a style='font-size:15pt;font-weight: bold' href= '"+item.Link+"' >%s\n</a>", item.Title)
- fmt.Fprintf(w, "<div>%s\n</div>", item.Description)
- fmt.Fprintf(w, "</div>")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement