下载网页

package main

import (
"io/ioutil"
"net/http"
"fmt"
) func main() {
url := "http://www.cnblogs.com/GaiheiluKamei"
response, err := http.Get(url)
if err != nil {
panic(err)
}
defer response.Body.Close()
html, err2 := ioutil.ReadAll(response.Body)
if err2 != nil {
panic(err2)
}
// ReadAll返回[]byte
fmt.Println(string(html))
}
// 这种直接下载下来的网页用处不大,旨在提供思路

下载文件

package main

import (
"net/http"
"io"
"os"
"fmt"
) func main() {
// 获取文件
imageUrl := "http://pic.uzzf.com/up/2015-7/20157816026.jpg"
response, err := http.Get(imageUrl)
if err != nil {
panic(err)
}
defer response.Body.Close()
// 创建保存位置
file, err2 := os.Create("pic.jpg")
if err2 != nil {
panic(err2)
}
// 保存文件
_, err3 := io.Copy(file, response.Body)
if err3 != nil {
panic(err3)
} file.Close()
fmt.Println("Image downloading is successful.")
}

创建Web服务器

// 运行程序,打开浏览器,根据输入的查询参数将返回不同的值
// 例如:"http://localhost:8000/?planet=World" 将在页面显示"Hello, World"
package main import (
"net/http"
"log"
) func sayHello(w http.ResponseWriter, r *http.Request) {
// Query方法解析RawQuery字段并返回其表示的Values类型键值对。
planet := r.URL.Query().Get("planet")
w.Write([]byte("Hello, " + planet))
} func main() {
http.HandleFunc("/", sayHello)
log.Fatalln(http.ListenAndServe(":8000", nil))
}

创建文件服务器

// 在本程序同目录下创建images文件夹,放入一些文件
// 打开浏览器访问"http://localhost:5050"将会看到文件
package main import "net/http" func main() {
http.Handle("/", http.FileServer(http.Dir("./images")))
http.ListenAndServe(":5050", nil)
}

Go基础编程实践(九)—— 网络编程的更多相关文章

  1. 【Linux网络编程】TCP网络编程中connect()、listen()和accept()三者之间的关系

    [Linux网络编程]TCP网络编程中connect().listen()和accept()三者之间的关系 基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下: conn ...

  2. Java-Runoob-高级编程:Java 网络编程

    ylbtech-Java-Runoob-高级编程:Java 网络编程 1.返回顶部 1. Java 网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.n ...

  3. UNIX环境高级编程——TCP/IP网络编程 常用网络信息检索函数

    UNIX环境高级编程——TCP/IP网络编程   常用网络信息检索函数 gethostname()   getppername()   getsockname()   gethostbyname() ...

  4. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  5. 【网络编程3】网络编程基础-arp请求(局域网主机扫描)

    ARP协议 ARP(Add ress Resolution Protocol)地址解析协议位于数据链路层,是根据IP地址获取MAC地址的一个协议. ARP 查看指令 arp -a 显示所有接口的当前A ...

  6. 【网络编程1】网络编程基础-TCP、UDP编程

    网络基础知识 网络模型知识 OSI七层模型:(Open Systems Interconnection Reference Model)开放式通信系统互联参考模型,是国际标准化组织(ISO)提出的一个 ...

  7. 黑马程序员_java基础笔记(08)...GUI,网络编程,正则表达式

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— GUI(Graphical User Interface)(图形用户接口):用图形 ...

  8. 第三模块:面向对象&网络编程基础 第2章 网络编程

    01-计算机基础 02-什么是网络 03-五层协议详解 04-传输层详解 05-什么是Socket 06-基于socket实现简单套接字通信 07-在简单套接字基础上加上通信循环 08-客户端与服务端 ...

  9. python基础教程总结13——网络编程,

    1.网络设计模块 1.1 socket模块    根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认. 1)服务器监听:是服务器端套接 ...

  10. linux高性能服务器编程 (五) --Linux网络编程基础api

    第五章 Linux网络编程基础api 1.主机字节序和网络字节序 字节序是指整数在内存中保存的顺序.字节序分为大端字节序.小端字节序. 大端字节序:一个整数的高位字节数据存放在内存的低地址处.低位字节 ...

随机推荐

  1. Python 检查代码占用内存 工具和模块

    只介绍简单的使用, 更多使用方法请查看官方文档 tracemalloc 官方文档 tracemalloc文档地址 使用 import tracemalloc tracemalloc.start() # ...

  2. match 和 search 和 indexOf 查找及 正则表达式的 exec 和 test 用法

    function test(){ var name= "1.087"; var abc = "abd wor66k ne78xt"; var reg = /\d ...

  3. bzoj3073: [Pa2011]Journeys 线段树优化建图

    bzoj3073: [Pa2011]Journeys 链接 BZOJ 思路 区间和区间连边.如何线段树优化建图. 和单点连区间类似的,我们新建一个点,区间->新点->区间. 又转化成了单点 ...

  4. 一篇常做错的经典JS闭包面试题

    作者 | Jeskson 来源 | 达达前端小酒馆 1 究竟是怎么样的一道面试题,能让我拿出来说说呢?下面请看代码: function fun(a,b) { console.log(b) return ...

  5. C函数之index、strtoul

    index函数 函数定义: #include<strings.h> char *index(const char *s, int c); 函数说明: 找出参数s字符串中第一个出现参数c的地 ...

  6. javaScript 判断为false

    JavaScript把null.undefined.0.NaN和空字符串''视为false,其他值一概视为true

  7. lastal

    http://last.cbrc.jp/doc/lastal.html This program finds local alignments between query sequences, and ...

  8. 记一次cpu指标异常的跟踪排查

    问题描述: 最近在测试环境的服务器上,无意中发现cpu持续飙高.最高的时候达到了200%经过反复重启无效之后,决定挖掘深层次的原因 通过top命令打印出消耗cpu的pid,如图 通过ps -mp 24 ...

  9. jenkins使用--部署

    软件: centos 7.x java jenkins Pipeline ansible 1.安装请看上一文 2.主要是讲部署() 目的:实现 参数化发布 说明 :构建jar包是由gitlab-ci  ...

  10. CAP原则 (阿里)

    CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance).CAP 原则指的是,这三 ...