golang的GET请求(类似于PHP的CURL)
check_url := "https://www.baidu.com"
header := make(map[string]string)
res, err := util.Hpool.Request(check_url, http.MethodGet, "", header)
if err != nil {
return nil, err
}
spew.Dump(res)
【http.go】
package util import (
"bytes"
"io/ioutil"
"net/http"
"time"
) type HttpConPool struct {
Conn *http.Client
} var Hpool *HttpConPool func loadHttpPool() {
Hpool = new(HttpConPool)
Hpool.Conn = &http.Client{
Transport: &http.Transport{
MaxIdleConnsPerHost: Str2Int(GetConfigValue("http", "max_conn")),
},
Timeout: time.Duration(Str2Int(GetConfigValue("http", "timeout"))) * time.Millisecond,
}
} func (h *HttpConPool) Request(url string, method string, data string, header map[string]string) (interface{}, error) {
req, err := http.NewRequest(method, url, bytes.NewBuffer([]byte(data)))
if err != nil {
return nil, err
} for h, v := range header {
req.Header.Set(h, v)
} response, err := h.Conn.Do(req) if err != nil {
return nil, err
} else if response != nil {
defer response.Body.Close() r_body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil, err
} else {
return string(r_body), nil
}
} else {
return nil, nil
}
}
golang的GET请求(类似于PHP的CURL)的更多相关文章
- 【转】提交http请求之python与curl
提交http请求之python与curl 由于Openstack是python实现wsgi的REST ful架构,在学习和调试的过程中,常常会遇到http请求的提交,于是顺手整理下python和cur ...
- golang (5) http 请求分析
http 分析包分析 fmt.Println("get Content-Type: ", r.Header.Get("Content-Type")) var r ...
- golang开发:http请求redirect的问题
这两天在开发项目的时候遇到了一个问题,请求了一个URL,它会302到另一个地址,本意上只是想检查这个URL是否会做3XX的redirect跳转,结果每次reqeust都会返回最后一跳的结果.后来就看了 ...
- golang http get请求方式
client := &http.Client{} //生成要访问的url,token是api鉴权,每个api访问方式不同,根据api调用文档拼接URLurl := fmt.Sprintf(&q ...
- 模拟post/get请求 类似于google的postman
下载地址:https://www.getpostman.com/apps
- curl发送get和post请求
function getAction($url='') { // curl 请求一共分四步,初始化,设置属性,执行并获取结果,释放句柄 // 一.初始化 $curl = curl_init(); // ...
- curl 发送get post请求
function getAction($url=''){ // curl 请求一共分四步,初始化,设置属性,执行并获取结果,释放句柄 // 一.初始化 $curl = curl_init(); // ...
- Linux 下模拟Http 的get or post请求(curl和wget两种方法)
一.get请求: 1.使用curl命令: curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地curl -i & ...
- curl post请求总是返回417错误
在进行post请求的时候, curl总是返回417错误 在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步. 发送一个 ...
随机推荐
- sql语句添加删除外键及其约束
--删除外键 ALTER TABLE t_base_role_module DROP CONSTRAINT fk_t_base_role_module_t_base_defined_url; --增加 ...
- python 与rabbitmq
一.rabbitmq简介.安装 简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专 ...
- jQuery时间格式插件-moment.js的使用
jQuery时间格式插件-moment.js的使用 moment.js插件的使用,使用之前在页面引入对应的js文件: 详细的操作可见moment中文官网:http://momentjs.cn/ 日期格 ...
- 基础 - 32位操作系统最多只支持4G内存。
32位操作系统最多只支持4G内存. CPU能不能直接访问硬盘的数据呢, 不能. 只能通过把硬盘的数据先放到内存里, 然后再从内存里访问硬盘的数据.我们平时玩游戏碰上读图loading 进度条的这个过程 ...
- linux_inotify
什么是inotify? 拥有强大.粒细粒度.异步文件系统事件监控机制,监控文件系统中添加.删除.修改.移动等各种事件 版本支持: 内核 2.6.13以上版本,inotify-tools 是实施监控的软 ...
- Django中url使用命名空间的错误
出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) ...
- Log4j源码解析--Appender接口解析
本文转自上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/10/382676.html.感谢作者的无私的分享. Appender负 ...
- Android 使用android-support-multidex解决Dex超出方法数的限制问题
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误: UNEXPECTED TOP-LE ...
- lvs_nat
nat模式环境模拟 1.实验环境概览 192.168.1.186 192.168.75.131 双网卡 dir 调度器(vip) ipvsadm,双网卡 192.168.1.185 单网卡 rs1 真 ...
- mysql SQL语法总结
mysql主键操作 删除表主键: alter table student drop primary key; 增加表主键: alter table student add primary key(id ...