教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出

golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出

发布时间:2022-01-28   编辑:jiaochengji.com
教程集为您提供golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出等资源,欢迎您收藏本站,我们将为您提供最新的golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

工程中用的测试用例代码

<pre><code class="lang-go hljs"><span class="token keyword">package</span> main <span class="token keyword">import</span> <span class="token punctuation">(</span> <span class="token string">"encoding/json"</span> <span class="token string">"fmt"</span> <span class="token string">"io/ioutil"</span> <span class="token string">"net/http"</span> <span class="token string">"strings"</span> <span class="token string">"time"</span> <span class="token punctuation">)</span> <span class="token keyword">type</span> Response <span class="token keyword">struct</span> <span class="token punctuation">{</span> Count <span class="token builtin">int</span> <span class="token string">`json:"count"`</span> <span class="token punctuation">}</span> <span class="token keyword">func</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> ipDesp<span class="token operator">:=</span><span class="token function">make</span><span class="token punctuation">(</span><span class="token keyword">map</span><span class="token punctuation">[</span><span class="token builtin">string</span><span class="token punctuation">]</span><span class="token builtin">string</span><span class="token punctuation">,</span> <span class="token number">14</span><span class="token punctuation">)</span> ipDesp<span class="token punctuation">[</span><span class="token string">"这里是ip"</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">"华东杭州"</span> ipDesp<span class="token punctuation">[</span><span class="token string">"这里是ip"</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">"华东杭州"</span> ipDesp<span class="token punctuation">[</span><span class="token string">"这里是ip"</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">"华东上海"</span> ipDesp<span class="token punctuation">[</span><span class="token string">"这里是ip"</span><span class="token punctuation">]</span><span class="token operator">=</span><span class="token string">"华东上海"</span> client <span class="token operator">:=</span> <span class="token operator">&</span>http<span class="token punctuation">.</span>Client<span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token keyword">for</span><span class="token punctuation">{</span> t <span class="token operator">:=</span> time<span class="token punctuation">.</span><span class="token function">Now</span><span class="token punctuation">(</span><span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token string">"----------------------------------------------------begin"</span><span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>time<span class="token punctuation">.</span><span class="token function">Now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">Format</span><span class="token punctuation">(</span>time<span class="token punctuation">.</span>RFC850<span class="token punctuation">)</span><span class="token punctuation">,</span> t<span class="token punctuation">.</span><span class="token function">Unix</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token string">"----------------------------------------------------"</span><span class="token punctuation">)</span> <span class="token keyword">var</span> count <span class="token builtin">int</span> <span class="token keyword">var</span> count_hd<span class="token punctuation">,</span> counthb<span class="token punctuation">,</span> counthn <span class="token builtin">int</span> <span class="token keyword">for</span> k<span class="token punctuation">,</span>v<span class="token operator">:=</span><span class="token keyword">range</span> ipDesp<span class="token punctuation">{</span> url <span class="token operator">:=</span> fmt<span class="token punctuation">.</span><span class="token function">Sprintf</span><span class="token punctuation">(</span><span class="token string">"http://%s:8141/yourpath"</span><span class="token punctuation">,</span>k<span class="token punctuation">)</span> request<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> http<span class="token punctuation">.</span><span class="token function">NewRequest</span><span class="token punctuation">(</span><span class="token string">"GET"</span><span class="token punctuation">,</span> url<span class="token punctuation">,</span> <span class="token boolean">nil</span><span class="token punctuation">)</span> <span class="token comment">//fmt.Println(url)</span> response<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> client<span class="token punctuation">.</span><span class="token function">Do</span><span class="token punctuation">(</span>request<span class="token punctuation">)</span> <span class="token keyword">if</span> response<span class="token punctuation">.</span>StatusCode <span class="token operator">==</span> <span class="token number">200</span> <span class="token punctuation">{</span> body<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> ioutil<span class="token punctuation">.</span><span class="token function">ReadAll</span><span class="token punctuation">(</span>response<span class="token punctuation">.</span>Body<span class="token punctuation">)</span> <span class="token comment">//fmt.Println(string(body))</span> <span class="token keyword">var</span> r <span class="token operator">=</span> Response<span class="token punctuation">{</span><span class="token punctuation">}</span> json<span class="token punctuation">.</span><span class="token function">Unmarshal</span><span class="token punctuation">(</span>body<span class="token punctuation">,</span><span class="token operator">&</span>r<span class="token punctuation">)</span> out<span class="token operator">:=</span>fmt<span class="token punctuation">.</span><span class="token function">Sprintf</span><span class="token punctuation">(</span><span class="token string">"%8s\t-\t%s\t"</span><span class="token punctuation">,</span>v<span class="token punctuation">,</span>r<span class="token punctuation">.</span>Count<span class="token punctuation">,</span>k<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>out<span class="token punctuation">)</span> count<span class="token operator"> =</span>r<span class="token punctuation">.</span>Count <span class="token keyword">if</span> strings<span class="token punctuation">.</span><span class="token function">Contains</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span><span class="token string">"华南"</span><span class="token punctuation">)</span><span class="token punctuation">{</span> counthn<span class="token operator"> =</span>r<span class="token punctuation">.</span>Count <span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token keyword">if</span> strings<span class="token punctuation">.</span><span class="token function">Contains</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span><span class="token string">"华东"</span><span class="token punctuation">)</span><span class="token punctuation">{</span> count_hd<span class="token operator"> =</span>r<span class="token punctuation">.</span>Count <span class="token punctuation">}</span><span class="token keyword">else</span> <span class="token keyword">if</span> strings<span class="token punctuation">.</span><span class="token function">Contains</span><span class="token punctuation">(</span>v<span class="token punctuation">,</span><span class="token string">"华北"</span><span class="token punctuation">)</span><span class="token punctuation">{</span> counthb<span class="token operator"> =</span>r<span class="token punctuation">.</span>Count <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token string">"同时在线:"</span><span class="token punctuation">,</span>count<span class="token punctuation">,</span> <span class="token string">"华东:"</span><span class="token punctuation">,</span>count_hd<span class="token punctuation">,</span><span class="token string">"华南:"</span><span class="token punctuation">,</span>counthn<span class="token punctuation">,</span><span class="token string">"华北:"</span><span class="token punctuation">,</span>counthb<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token string">"----------------------------------------------------end"</span><span class="token punctuation">)</span> time<span class="token punctuation">.</span><span class="token function">Sleep</span><span class="token punctuation">(</span><span class="token number">5</span><span class="token operator">*</span>time<span class="token punctuation">.</span>Second<span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> </code></pre>

如果增加超时

<pre><code class="lang-go hljs"> client <span class="token operator">:=</span> <span class="token operator">&</span>http<span class="token punctuation">.</span>Client<span class="token punctuation">{</span> Timeout<span class="token punctuation">:</span> time<span class="token punctuation">.</span><span class="token function">Duration</span><span class="token punctuation">(</span><span class="token number">1</span> <span class="token operator">*</span> time<span class="token punctuation">.</span>Second<span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token punctuation">}</span> </code></pre> 到此这篇关于“golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang最简单的http client(GET方法),包括json.Unmarshal,fmt格式化输出
go 网络编程
golang 自定义json解析
GO 发起HTTP请求调用接口
Golang单元测试之httptest使用
【GoLang】golang HTTP GET/POST JSON的服务端、客户端示例,包含序列化、反序列化
golang string转int8_Golang从0到1
go golang 笔试题 面试题 笔试 面试
Go 学习笔记 09 | Golang 结构体与 JSON 互相转换
GoLang之网络

[关闭]
~ ~