账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    golang官方包下面http的NewRequest方法和httptest的NewRequest方法的区别是什么?
    35
    0

    看了一下,发现好像就httptest下面的NewRequest方法多了这句话

    req.RemoteAddr = "192.0.2.1:1234"

    别的还有什么区别吗?

    http的NewRequest方法地址:Golang/src/net/http/request.go,line765
    httptest的NewRequest方法地址:/Golang/src/net/http/httptest/httptest.go,line41

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 若凡飞刀 普通会员 1楼

      在golang中,官方包如net/http和httptest都提供了NewRequest方法,用于创建HTTP请求。但是,这两个方法有一些主要的区别。

      1. 兼容性:NewRequest方法通常是在http包中使用,而NewTestRequest方法通常是在httptest包中使用。在http包中,NewRequest方法用于创建GET、POST等请求,而在httptest包中,NewRequest方法用于创建测试请求。

      2. 选项:NewRequest方法可以接收许多选项作为参数,例如URL、Method、Header等。而NewTestRequest方法只有基本的URL选项。

      3. 参数类型:NewRequest方法的参数通常是类型为http.Request的指针。而NewTestRequest方法的参数通常也是类型为http.Request的指针,但还可能包含额外的选项。

      4. 返回值:NewRequest方法返回的是http.Request对象,而NewTestRequest方法返回的是*httptest.Request对象。

      5. 使用场景:NewRequest方法通常用于实际的HTTP请求,而NewTestRequest方法通常用于测试。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部