使用go的net/http實現讀取web頁面

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
package main
 
import (
 "fmt"
 "io/ioutil" //[1]
 "net/http" //[2]
 "os" //[3]
 "path/filepath" // [4]
)
 
func main() {
 if len(os.Args) != 2 {
 fmt.Printf("useage:%s http://url", filepath.Base(os.Args[0]))
 os.Exit(1)
 }
 resp, err := http.Get(os.Args[1])
 if err != nil {
 fmt.Println(err) //go語言會內含詳細的錯誤描述,可以嘗試不同的參數來測試
 os.Exit(2)
 }
 defer resp.Body.Close() //The client must close the response body when finished with it: 
 body, err2 := ioutil.ReadAll(resp.Body) //此處使用了包【1】
 if err2 != nil {
 fmt.Println(err2)
 os.Exit(3)
 }
 fmt.Printf("%s", body)
 
}
 

##產生程式測試 getwebpage.exe
useage:getwebpage.exe http://url getwebpage.exe http://ww
Get http://ww: dial tcp: GetAddrInfoW: No such host is known. getwebpage.exe htt
Get htt: unsupported protocol scheme ""

相關說明  在DOS裡執行命令 “godoc -http=:8000”後可以查到相關包 http://127.0.0.1:8000/pkg/net/http/ http://127.0.0.1:8000/pkg/io/ioutil/#ReadAll Package http provides HTTP client and server implementations. Get, Head, Post, and PostForm make HTTP (or HTTPS) requests: resp, err := http.Get("http://example.com/") ... resp, err := http.Post("http://example.com/upload", "image/jpeg", &buf) ... resp, err := http.PostForm("http://example.com/form",   url.Values{"key": {"Value"}, "id": {"123"}})
//func ReadAll(r io.Reader) ([]byte, error) ReadAll reads from r until an error or EOF and returns the data it read. A successful call returns err == nil, not err == EOF. Because ReadAll is defined to read from src until EOF, it does not treat an EOF from Read as an error to be reported.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.