神奇的go语言

目前,网上关于网页爬行的代码很多。但是,自从看了go语言的web下载代码之后,我才发现原来它的网页下载代码才是最简单的。不信的话,大家可以看一下,

package main

import(

    "fmt"

    "log"

    "net/http"

    "os"

)

func main(){

    resp,err:=http.Get("http://www.baidu.com")

    if err!=nil{

        //handleerror



        fmt.Println(err)



        log.Fatal(err)



    }



    defer resp.Body.Close()



    if resp.StatusCode==http.StatusOK{



        fmt.Println(resp.StatusCode)



    }



    buf:=make([]byte,1024)

    //createfile

    f,err1:=os.OpenFile("baidu.html",os.O_RDWR|os.O_CREATE|os.O_APPEND,os.ModePerm)

    if err1!=nil{

        panic(err1)

        return

    }

    defer f.Close()

    for{

        n,_:=resp.Body.Read(buf)

        if 0==n{

            break

        }

        f.WriteString(string(buf[:n]))
    }
}

本文分享自微信公众号 - Golang语言社区(Golangweb)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

fms4 p2p:图片分享

这其实是http://www.flashrealtime.com/file-share-object-replication-flash-p2p/ 中关于文件分...

22870
来自专栏24K纯开源

一个简单的inno setup模板

一、模板代码     基本功能包括多路径安装、多语言、自定义图标。 [Setup] ShowLanguageDialog=yes AppCopyright=Co...

32850
来自专栏QQ音乐技术团队的专栏

Lottie : 让动画如此简单

Lottie是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,可实现非常复杂的动画,使用也及其简单,极大释放人力,值得一...

15K110
来自专栏Python、Flask、Django

Go学习之 - 一个简单的web服务

14120
来自专栏向治洪

Android WindowManager详解

概述 WindowManager是Android中一个重要的服务(Service )。WindowManager Service 是全局的,是唯一的。它将用户的...

33690
来自专栏程序员的知识天地

七夕快到了!表白小程序制作详解,撩翻你的女神!

大家可能都会在抖音上刷过,那种表白小程序,但在我看来表白还是亲口说出来比较好,这类小程序只适合在平常的一些小节日给对方一个惊喜。话不多说,现在进入正题:

34610
来自专栏hbbliyong

Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置

1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselec...

24030
来自专栏MasiMaro 的技术博文

SDK平台三态按钮的实现

Windows平台提供了丰富的控件,但是在使用中我们不会使用它提供的默认风格,有时候需要对控件进行改写,让它展现出更友好的一面,这次主要是说明三态按钮的实现。

15140
来自专栏向治洪

Android系统服务之WindowManager整理

概述 WindowManager是Android中一个重要的服务(Service )。WindowManager Service 是全局的,是唯一的。它将用户的...

236100
来自专栏挖坑填坑

Angular练习之animations动画二

引入动画模块>创建动画对象>在动画载体上使用。我觉得其核心的内容在创建动画对象上,今天我们就来练习创建不同的动画对象trigger

15820

扫码关注云+社区

领取腾讯云代金券