Чтение из URL-ресурса в Go

Как мы читаем из URL-адреса ресурса. Я использовал API https://github.com/Kissaki/rest.go в следующих пример. Ниже приведен пример, который я использую для записи строки в URL-адрес http://localhost:8080/cool. Но теперь я нужно получить данные из URL-адреса, как мне их прочитать?

package main

import (
    "fmt"
    "http"
    "github.com/nathankerr/rest.go"
)

type FileString struct {
    value string
}

func (t *FileString) Index(w http.ResponseWriter) {
    fmt.Fprintf(w, "%v", t.value)
}

func main(){
    rest.Resource("cool", &FileString{s:"this is file"})    
    http.ListenAndServe(":3000", nil)   
}

person chinmay    schedule 13.07.2011    source источник


Ответы (1)


если вы просто хотите получить файл через http, вы можете сделать что-то вроде этого, я думаю

resp, err := http.Get("http://your.url.com/whatever.html")
check(err) // does some error handling

// read from resp.Body which is a ReadCloser
person bjarneh    schedule 13.07.2011
comment
Не могли бы вы сказать мне, как мне прочитать содержимое из resp.Body ? - person chinmay; 14.07.2011
comment
content := make([]byte, resp.ContentLength); n, err := resp.Body.Read(content); check(err) что-то в этом роде? если ContentLength, я думаю, его не следует читать одним целым фрагментом - person bjarneh; 14.07.2011
comment
опечатка, я хотел сказать, что чтение всего файла в одном большом фрагменте []byte может быть меньше, чем идеальное из resp.ContentLength, огромно, т.е. должно быть сказано, если ContentLength велик.. и так далее - person bjarneh; 16.07.2011