Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt" // пакет для форматированного ввода вывода
  5. "net/http" // пакет для поддержки HTTP протокола
  6. "strings" // пакет для работы с UTF-8 строками
  7. "log" // пакет для логирования
  8. "github.com/RealJK/rss-parser-go"
  9.  
  10. )
  11.  
  12. func HomeRouterHandler(w http.ResponseWriter, r *http.Request) {
  13. r.ParseForm() //анализ аргументов,
  14. fmt.Println(r.Form) // ввод информации о форме на стороне сервера
  15. fmt.Println("path", r.URL.Path)
  16. fmt.Println("scheme", r.URL.Scheme)
  17. fmt.Println(r.Form["url_long"])
  18. for k, v := range r.Form {
  19. fmt.Println("key:", k)
  20. fmt.Println("val:", strings.Join(v, ""))
  21. }
  22. rss_chanel(w, r)
  23. }
  24.  
  25. func main() {
  26. http.HandleFunc("/", HomeRouterHandler) // установим роутер
  27. err := http.ListenAndServe(":10555", nil) // задаем слушать порт
  28. if err != nil {
  29. log.Fatal("ListenAndServe: ", err)
  30. }
  31. }
  32.  
  33. func rss_chanel(w http.ResponseWriter, r *http.Request) {
  34. rssObject, err := rss.ParseRSS("http:/" + r.URL.Path)
  35. if err != nil {
  36. fmt.Fprintf(w, "<div>")
  37. fmt.Fprintf(w, "<h1 align='center'>%s\n</h1>", rssObject.Channel.Title)
  38. fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.Generator)
  39. fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.PubDate)
  40. fmt.Fprintf(w, "<div>%s\n </div>", rssObject.Channel.LastBuildDate)
  41. fmt.Fprintf(w, "</div>")
  42.  
  43. for v := range rssObject.Channel.Items {
  44. item := rssObject.Channel.Items[v]
  45. fmt.Println()
  46. fmt.Fprintf(w, "<div style='margin-bottom: 15px'>")
  47. fmt.Fprintf(w, "<a style='font-size:15pt;font-weight: bold' href= '"+item.Link+"' >%s\n</a>", item.Title)
  48. fmt.Fprintf(w, "<div>%s\n</div>", item.Description)
  49. fmt.Fprintf(w, "</div>")
  50. }
  51. }
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement