5 Commits

Author SHA1 Message Date
  guzeng 2589808f45 增加发送xml 2 years ago
  guzeng 2e9178a53e 增加发送xml 2 years ago
  guzeng 452182ea7c 修改PostJson设置头部 2 years ago
  wuyongyuan 34585d7e73 新增传递json数据方法 2 years ago
  guzeng dcd280563a 增加发送json方法 3 years ago
2 changed files with 115 additions and 0 deletions
Split View
  1. +42
    -0
      http.go
  2. +73
    -0
      url.go

+ 42
- 0
http.go View File

@ -1,6 +1,8 @@
package network
import (
"bytes"
"encoding/xml"
"io/ioutil"
"net/http"
"strings"
@ -84,3 +86,43 @@ func SendHttp(method, url string, param map[string]string, header ...map[string]
return body, nil
}
/**
* send xml
*/
func SendXml(method, url string, requestxml interface{}, header ...map[string]string) ([]byte, error) {
bytexml, err := xml.Marshal(&requestxml)
if err != nil {
return []byte(""), err
}
httpClient := &http.Client{}
req, err := http.NewRequest(method, url, bytes.NewBuffer(bytexml))
if err != nil {
return []byte(""), err
}
req.Header.Add("Content-Type", "application/xml; charset=utf-8")
if len(header) > 0 {
for _, item := range header {
for k, v := range item {
req.Header.Add(k, v)
}
}
}
resp, err := httpClient.Do(req)
if err != nil {
return []byte(""), err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return []byte(""), err
}
return body, nil
}

+ 73
- 0
url.go View File

@ -4,8 +4,10 @@
package network
import (
"bytes"
"crypto/md5"
"encoding/hex"
"encoding/json"
"errors"
"io/ioutil"
"net"
@ -45,6 +47,77 @@ func FnPost(url, param string) ([]byte, error) {
return body, nil
}
/**
* post 请求
*/
func PostJson(url string, param []byte, header ...map[string]string) ([]byte, error) {
httpClient := &http.Client{}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(param))
if err != nil {
return []byte(""), err
}
req.Header.Set("Content-Type", "application/json")
if len(header) > 0 {
for _, item := range header {
for k, v := range item {
req.Header[k] = []string{v}
}
}
}
resp, err := httpClient.Do(req)
if err != nil {
return []byte(""), err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return []byte(""), err
}
return body, nil
}
/**
* post 请求
*/
func PostJsonData(url string, param interface{}, header ...map[string]string) ([]byte, error) {
httpClient := &http.Client{}
params, err := json.Marshal(param)
if err != nil {
return []byte(""), err
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(params))
if err != nil {
return []byte(""), err
}
req.Header.Set("Content-Type", "application/json")
if len(header) > 0 {
for _, item := range header {
for k, v := range item {
req.Header[k] = []string{v}
}
}
}
resp, err := httpClient.Do(req)
if err != nil {
return []byte(""), err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return []byte(""), err
}
return body, nil
}
/**
* 取本地IP
*/


Loading…
Cancel
Save