http请求及json发送与解析 post string
golang http请求及json流解析 - 长风v持成的博客 - CSDN博客 https://blog.csdn.net/u011677067/article/details/80852158
- package main
- import (
- "encoding/json"
- "fmt"
- //"io/ioutil"
- "log"
- "net/http"
- "net/url"
- "os"
- "strings"
- "time"
- )
- const IssueURL = "https://api.github.com/search/issues"
- type IssuesSearchResult struct {
- TotalCount int `json:"total_count"`
- Items []*Issue
- }
- type Issue struct {
- Number int
- HTMLURL string `json:"html_url"`
- Title string
- State string
- User *User
- CreateAt time.Time `json:"create_at"`
- Body string
- }
- type User struct {
- Login string
- HTMLURL string `json:"html_url"`
- }
- func SearchIssues(terms []string) (*IssuesSearchResult, error) {
- q := url.QueryEscape(strings.Join(terms, " "))
- urls := IssueURL + "?q=" + q
- resp, err := http.Get(urls)
- if err != nil {
- return nil, err
- }
- defer resp.Body.Close()
- fmt.Println("start encode ...")
- /*web, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- return nil, err
- }
- fmt.Printf("web:%s\n==============\n", web)
- */
- if resp.StatusCode != http.StatusOK {
- return nil, fmt.Errorf("search query failed: %s", resp.Status)
- }
- var result IssuesSearchResult
- if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
- return nil, err
- }
- return &result, nil
- }
- func main() {
- result, err := SearchIssues(os.Args[1:])
- if err != nil {
- log.Fatal(err)
- }
- fmt.Printf("%d issue: \n", result.TotalCount)
- for _, item := range result.Items {
- fmt.Printf("#<%-5d> <%9.9s> <%.55s>\n\n", item.Number, item.User.Login, item.Title)
- }
- }
go http 传递json数据 - 翔云 - CSDN博客 https://blog.csdn.net/lanyang123456/article/details/78702873
- package main
- import (
- "encoding/json"
- "fmt"
- "html"
- "io/ioutil"
- "log"
- "net/http"
- )
- type Cmd struct {
- ReqType int
- FileName string
- }
- func main() {
- http.HandleFunc("/bar", func (w http.ResponseWriter, r *http.Request){
- fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
- if r.Method == "POST" {
- b, err := ioutil.ReadAll(r.Body)
- if err != nil {
- log.Println("Read failed:", err)
- }
- defer r.Body.Close()
- cmd := &Cmd{}
- err = json.Unmarshal(b, cmd)
- if err != nil {
- log.Println("json format error:", err)
- }
- log.Println("cmd:", cmd)
- } else {
- log.Println("ONly support Post")
- fmt.Fprintf(w, "Only support post")
- }
- })
- log.Fatal(http.ListenAndServe(":8080", nil))
- }
- //post json
- package main
- import (
- "bytes"
- "encoding/json"
- "io/ioutil"
- "log"
- "net/http"
- )
- type Cmd struct {
- ReqType int
- FileName string
- }
- func main() {
- url := "http://127.0.0.1:8080/bar"
- contentType := "application/json;charset=utf-8"
- cmd := Cmd{ReqType: 12, FileName: "plugin"}
- b ,err := json.Marshal(cmd)
- if err != nil {
- log.Println("json format error:", err)
- return
- }
- body := bytes.NewBuffer(b)
- resp, err := http.Post(url, contentType, body)
- if err != nil {
- log.Println("Post failed:", err)
- return
- }
- defer resp.Body.Close()
- content, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- log.Println("Read failed:", err)
- return
- }
- log.Println("content:", string(content))
- }
http请求及json发送与解析 post string的更多相关文章
- android通过httpClient请求获取JSON数据并且解析
使用.net创建一个ashx文件,并response.write json格式 public void ProcessRequest(HttpContext context) { context.R ...
- Android okHttp网络请求之Json解析
前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...
- 发送Ajax请求获取JSON格式数据
Aspx前端页面: <script type="text/javascript"> $(function () { $.getJSON("Ajax/TestA ...
- Flutter网络请求与JSON解析
本文介绍如何在Flutter中创建HTTP网络请求和对请求的json string进行类型解析. 网络请求 官方使用的是用dart io中的HttpClient发起的请求,但HttpClient本身功 ...
- Java发送Post请求,参数JSON,接收JSON
/** * 发送post请求 * @param url 路径 * @param jsonObject 参数(json类型) * @param encoding 编码格式 * @return * @th ...
- 使用Retrofit发送POST请求提交JSON数据
Retrofit官网:https://square.github.io/retrofit/ 示例如下 HttpService.java import okhttp3.RequestBody; impo ...
- android基础---->JSON数据的解析
上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...
- iOS开发——实战篇Swift篇&UItableView结合网络请求,多线程,数据解析,MVC实战
UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高 ...
- 网络HTTP、JSON、XML解析等 复习
一.一个HTTP请求的基本要素1.请求URL:客户端通过哪个路径找到服务器 2.请求参数:客户端发送给服务器的数据* 比如登录时需要发送的用户名和密码 3.返回结果:服务器返回给客户端的数据* 一般是 ...
随机推荐
- 0062 Spring MVC的文件上传与下载--MultipartFile--ResponseEntity
文件上传功能在网页中见的太多了,比如上传照片作为头像.上传Excel文档导入数据等 先写个上传文件的html <!DOCTYPE html> <html> <head&g ...
- C++之把流对象当做函数参数传递
一.编译不通过的代码: /******************************************************************************* * File ...
- 解决:Scanner输入数字总是莫名其妙多个0
用BufferedInputStream解决 Scanner scanner = new Scanner(new BufferedInputStream(System.in)); System.out ...
- spring 注解@Resource @Autowired区别
1.@Autowired寻找类的时候默认是ByType,也就是通过类的类型来寻找类.不过,也可以通过借助@Qualifier("name")来指定寻找的类名 @Autowired ...
- 跟着百度学习php之ThinkPHP的运行流程-2
Thinkphp为了提高编译的效率,第一次运行的时候thinkphp会把文件全部编译到temp目录下的~runtime.php文件,在第二次运行的时候会直接读取这个文件.所以我们在线下自己写代码测试的 ...
- hive中array嵌套map以及行转列的使用
1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...
- [Cxf] cxf 相关知识整理
① 请求方式为GET @GET @Path(value = "/userAddressManage") @Produces( { MediaType.APPLICATION_JSO ...
- GUI的广泛应用是当今计算机发展的重大成就之一
GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用.人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口.菜单.按键等方式来方便地进行操作.而嵌入式GUI具有下面几 ...
- 转载 Python导入模块的几种姿势
作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包.但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活.在本文中,我们将探讨以下 ...
- 【noip模拟题】藏宝图(prim)
好神的一题.. 一开始没想多久就看题解了QAQ.. 首先我们发现,这棵树任意两个点的边一定是最小的(即所有其它这两个点的路径都比这条边大,才有可能出解) 然后生成树后再算距离判断即可.. 注意特判n= ...