golang编程入门之http请求天气实例
golang学习第一波,使用http get请求高德天气接口。
一、准备内容:
1、注册高德开发者账号,申请key
2、golang开发工具LiteIDE(可自行百度)。
或者https://www.jb51.net/softjc/119086.html
3、大致了解下golang基础语法。
二、直接上代码
因为代码注释非常详尽,故直接上代码。
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { rlt, err := doHttpGetRequest("https://restapi.amap.com/v3/weather/weatherInfo?key=你的高德key&city=110101") if err != nil { fmt.Println("net req error") } else { fmt.Println(rlt) } } // 自定义http get请求函数 // 入参:请求url // 返回值:rlt,天气数据。err,错误信息 // 网络请求 func doHttpGetRequest(url string) (rlt string, err error) { // http.Get在net/http中,所以要import "net/http" resp, err := http.Get(url) if err != nil { return "", err } else { // 使用efer resp.Body.Close()。当doHttpGetRequest成功return之后,执行此行语句。多用于句柄关闭 defer resp.Body.Close() // io流数据读取。需要引用io/ioutil body, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err } else { return string(body), err } } }
注:我的高德key:d2315f3b0b4e57bbf5428e755a73e692。供测试使用
返回结果:
测试结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
golang实现http服务器处理静态文件示例
本文实例讲述了golang实现http服务器处理静态文件的方法.分享给大家供大家参考,具体如下: 新版本更精简: 复制代码 代码如下: package main import ( "flag" "log" "net/http" "os" "io" "path" "strconv" ) var dir string
-
go语言实现一个最简单的http文件服务器实例
本文实例讲述了go语言实现一个最简单的http文件服务器的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "net/http" ) func main() { http.Handle("/", http.FileServer(http.Dir("./"))) http.ListenAndServe(":8123", nil) } 希望本文
-
go语言实现简单http服务的方法
本文实例讲述了go语言实现简单http服务的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "flag" "log" "net/http" "text/template" ) var addr = flag.String("addr", ":1718", "http service
-
Go语言通过http抓取网页的方法
本文实例讲述了Go语言通过http抓取网页的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "log" "net/http" "net/url" "io/ioutil" ) //指定代理ip func getTransportFieldURL(proxy_addr *string) (transport *http.Tr
-
浅谈golang的http cookie用法
在服务端程序开发的过程中,cookie经常被用于验证用户登录.golang 的 net/http 包中自带 http cookie的定义,下面就来讲一下cookie的一般用法以及需要注意的问题. http cookie的定义 先来看下golang对cookie结构体的定义: type Cookie struct { Name string Value string Path string // optional Domain string // optional Expires time.Tim
-
golang的HTTP基本认证机制实例详解
本文实例讲述了golang的HTTP基本认证机制.分享给大家供大家参考,具体如下: 看了<<http权威指南>>第12章HTTP基本认证机制(本站下载地址:http://www.jb51.net/books/93254.html),感觉讲的蛮详细的,写了一个小小例子测试. 请求响应过程: 复制代码 代码如下: ==> GET /hello HTTP/1.1 Host: 127.0.0.1:12345 <== HTTP/1.1 401 Unauthorized WWW-A
-
Go语言中利用http发起Get和Post请求的方法示例
关于 HTTP 协议 HTTP(即超文本传输协议)是现代网络中最常见和常用的协议之一,设计它的目的是保证客户机和服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的 "请求-应答" 协议. 客户端可以是 Web 浏览器,服务器端可以是计算机上的某些网络应用程序. 通常情况下,由浏览器向服务器发起 HTTP 请求,服务器向浏览器返回响应.响应包含了请求的状态信息以及可能被请求的内容. Go 语言中要请求网页时,使用net/http包实现.官方已经提供了详细的说明,但是比较粗略,
-
golang设置http response响应头与填坑记录
1. 设置WriteHeader的顺序问题 之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也取不到. w.WriteHeader(201) w.Header().Set("Name", "my name is smallsoup") 用 golang 写 http server 时,可以很方便可通过 w.Header.Set(k, v) 来设置 http response 中 header 的内容.但是需要特别注意的
-
Go语言的http/2服务器功能及客户端使用
前言 大家都知道,Go的标准库HTTP服务器默认支持HTTP/2.那么,在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用. 在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用.Go的标准库HTTP服务器默认支持HTTP/2. 下面话不多说了,来一起看看详细的介绍吧 HTTP/2 服务器 首先,让我们在Go中创建一个http/2服务器!根据http/2文档,所有东西都是为我们自动配置的,我们甚至不需要导入Go的标准库ht
-
golang编程入门之http请求天气实例
golang学习第一波,使用http get请求高德天气接口. 一.准备内容: 1.注册高德开发者账号,申请key 2.golang开发工具LiteIDE(可自行百度). 或者https://www.jb51.net/softjc/119086.html 3.大致了解下golang基础语法. 二.直接上代码 因为代码注释非常详尽,故直接上代码. package main import ( "fmt" "io/ioutil" "net/http"
-
Python3编程实现获取阿里云ECS实例及监控的方法
本文实例讲述了Python3编程实现获取阿里云ECS实例及监控的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python3.5 # -*- coding:utf8 -*- try: import httplib except ImportError: import http.client as httplib import sys,datetime import urllib import urllib.request import urllib.error impor
-
Android开发之InetAddress基础入门简介与源码实例
最近在学习soket编程中,看到有需要获取到IP地址之类的需求,所以就去看了下如何获取到主机名的IP地址. 其实就是需要用到一个类InetAddress.他是在java.net包下面. InetAddress类的对象用于IP地址和域名,该类提供以下方法: getByName(String s):获得一个InetAddress 类的对象,该对象中含有主机的IP地址和域名,该对象用如下格式表示它包含的信息:www.sina.com.cn/202.108.37.40: String getHostNa
-
Golang编程实现删除字符串中出现次数最少字符的方法
本文实例讲述了Golang编程实现删除字符串中出现次数最少字符的方法.分享给大家供大家参考,具体如下: 描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序. 输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节. 输出: 删除字符串中出现次数最少的字符后的字符串. 样例输入: abcdd 样例输出: dd 代码实现: 复制代码 代码如下: package huawei impo
-
ColdFusionMX 编程指南 ColdFusionMX编程入门
第三期:ColdFusionMX编程入门 序言 上一期我们讲解了ColdFusionMX的基本管理操作,并且熟悉了ColdFusionMX的管理界面布局,而且上一期最后我们演示了两个非常短小的coldfusion程序,这一期会详细讲解coldfusion的入门编程,其中包括在asp中对于初学者而言非常令人头疼的数据库操作. 在每次开始进入正题之前,每一期的序言内容都会为大家介绍一些关于ColdFusion发展或者其他一些具有价值的小知识,第一期为大家介绍了Macromedia MX产品的策略和c
-
ASP编程入门进阶(十四):Browser & Linking
一.Browser Capabilities组件 该组件最主要的作用是:提取识别客户端浏览器的版本信息. 其原理是这样的:当客户端浏览器向服务器发送页面请求时,同时会自动发送一个User Agent HTTP标题,而该标题是一个声明浏览器及其版本的 ASCII 字符串.而Browser Capabilities组件就将User Agent映射到在文件Browscap.ini中所注明的浏览器 , 并通过BrowserType对象的属性来识别客户浏览器. 若该对象在 browscap.ini 文件中
-
Android编程向服务器发送请求时出现中文乱码问题的解决方法
本文实例讲述了Android编程向服务器发送请求时出现中文乱码问题的解决方法.分享给大家供大家参考,具体如下: 我们在andorid项目中通过get方式向服务器发送请求,其中url参数带有中文,将会产生乱码,乱码产生的原因有两种: 1. 在提交参数时,没有对中文参数进行URL编码 2. Tomcat服务器默认采用的是IOS8859-1编码(不支持中文)得到参数值 解决: 1. 进入android项目,在其中要提交参数的时候,对参数的值进行编码: 复制代码 代码如下: URLEncoder.enc
-
Python编程入门之Hello World的三种实现方式
本文实例讲述了Python编程入门之Hello World的三种实现方式.分享给大家供大家参考,具体如下: 第一种方式: $python >>>print('hello world') 屏幕上输出hello world print是一个常用函数 第二种方式: 复制代码 代码如下: $python hello.py 第三种方式: #!/usr/bin/env python chmod 755 hello.py ./hello.py 希望本文所述对大家Python程序设计有所帮助.
-
Golang编程实现生成n个从a到b不重复随机数的方法
本文实例讲述了Golang编程实现生成n个从a到b不重复随机数的方法.分享给大家供大家参考,具体如下: 代码很简单: 复制代码 代码如下: package test import ( "fmt" "math/rand" "time" ) //生成若干个不重复的随机数 func RandomTestBase() { //测试5次 for i := 0; i < 5; i++ { nums
-
微信小程序 POST请求的实例详解
微信小程序 POST请求的实例详解 在微信小程序里post请求和get情求,写法差不多,但是还是有一点点不同的,下面利用post请求做一个查询天气的微信小程序demo. 页面代码: <view> {{title}} </view> <span style="font-size:24px;"><!--index.wxml--> <view class="container"> <view style=
随机推荐
- linux Shell学习笔记第五天
- ExtJS GTGrid 简单用户管理
- oracle如何恢复被覆盖的存储过程
- asp.net简化接收参数值的函数
- ASP.NET Core Project.json文件(5)
- 各种常用的JS函数整理
- MySQL开启慢查询日志log-slow-queries的方法
- 插入排序_Python与PHP的实现版(推荐)
- jQuery+CSS3实现3D立方体旋转效果
- 2007年最挣钱十大创业领域...
- 用javascript 控制表格行的展开和隐藏的代码
- MongoDB 语法使用小结
- javascript动态的改变IFrame的高度实现自动伸展
- android 中viewpager+fragment仿微信底部TAG完美渐变
- 浅谈MySQL数据库中日期中包含零值的问题
- python 处理数字,把大于上限的数字置零实现方法
- java 获取对象中为null的字段实例代码
- 详解spring cloud如何使用spring-test进行单元测试
- mysql5.7及mysql 8.0版本修改root密码的方法小结
- 浅谈Vue为什么不能检测数组变动