精华内容
下载资源
问答
  • ab发送cookie和post请求的方法

    千次阅读 2018-05-30 17:49:24
    ab是apache自带压力测试工具,近期需要...1. 发送cookie 方法1 -C key1=value1;key2=value2... 例: ab -n 1 -C "name=ball;age=99;sex=male" "http://wc.sogou.com/worldcup2018/test...

    ab是apache自带的压力测试工具,近期需要压测一个接口,涉及使用post请求,并在其中带cookie。方法总结如下:

    1. 发送cookie

    方法1

    -C key1=value1;key2=value2...

    例:

    ab -n 1 -C "name=ball;age=99;sex=male" "http://wc.sogou.com/worldcup2018/test.php"

    服务端可拿到name, age, sex三个cookie值

    方法2

    -H "Cookie: key1=value1;key2=value2..."

    例:

    ab -n 1 -H "Cookie: name=ball;age=36" "http://wc.sogou.com/worldcup2018/test.php"

    2. 发送post请求

    方法

    -T 'application/x-www-form-urlencoded' -p postfile

    说明:
    1. -T参数指明post数据编码,无需变化。
    2. postfile是文件名,里面存放了所要发送的post数据。数据格式如下:

    key1=value1&key2=value2...

    如果value包含&等特殊符号,则需要对value进行urlencode编码。当然,保险起见,也可以选择在任何情况下都对value进行urlencode。

    例1:
    postfile内容如下:

    age=99&name=ball

    发送

    ab -n 1 -T 'application/x-www-form-urlencoded' -p post.data "http://wc.sogou.com/worldcup2018/test.php"

    服务端收到age, name两个post数据。

    例2,一个json的demo
    postfile内容如下:

    jsondemo=[{"mid":1,"price":10,"guess":3},{"mid":2,"price":20,"guess":3}]&name=ball

    发送方式同上。
    服务端收到jsondemo为[{“mid”:1,”price”:10,”guess”:3},{“mid”:2,”price”:20,”guess”:3}], json_decode后得到php数组。

    postfile也可以是如下形式(将上文中的jsondemo进行urlencode得到):

    jsondemo=%5B%7B%22mid%22%3A1%2C%22price%22%3A10%2C%22guess%22%3A3%7D%2C%7B%22mid%22%3A2%2C%22price%22%3A20%2C%22guess%22%3A3%7D%5D&name=ball
    展开全文
  • 本人小白一个,最近刚开始做个小程序,在调用一个接口时向服务器发送cookie出现了500错误,网上方法搜了个遍,花了整整一天半才解决,最后发现自己错在哪时差点吐血。。是我太菜了。。现在把我经验分享一下,给...

    1.随便说点啥

    本人小白一个,最近刚开始做个小程序,在调用一个接口时向服务器发送cookie出现了500错误,网上方法搜了个遍,花了整整一天半才解决,最后发现自己错在哪时差点吐血。。是我太菜了。。现在把我的经验分享一下,给碰到问题的老哥们节省点时间。。

    2.获取、存储cookie

    登录页获取cookie:

    wx.request({
          url: 'xxxxxxxxxxxxxxxxxx',    //你要调用的接口地址
          method: 'POST',
          header: {
            "Content-Type": "application/x-www-form-urlencoded"
          },
          data: {
            phoneNumber: phoneNumber,    //你要发送给接口的数据
            password: password    //你要发送给接口的数据
          },
          success: res => {
            wx.setStorageSync('sessionid', res.cookies[0]),    //存储cookie到本地
            console.log(res);
            wx.redirectTo({ 
                url: "xxxxxxxxxxxxx"    //登录成功获取cookie后跳转到指定页面
            });
          },
    

    结果如图所示:

    可以看到,这里得到的cookie是由好几段字符串以分号分割组成的。然而发送给服务器时只需要其中的第一段,也就是sessionid这段,我们就需要把这个cookie进行分割。

    3.读取、发送cookie

    调用接口页发送cookie:

    Page({
      data: {
      },
      onShow: function () {
        let sessionid = wx.getStorageSync("sessionid").split(';')[0].split('=')[1];    //使用split对得到的cookie进行分割
        let cookie = 'sessionid='+sessionid;    //分割完之后只剩下sessionid对应的字符串,但要发送的cookie格式是“sessionid=xxx”,所以还要进行拼接,把前面的头给加上去
        wx.request({
          url: 'xxxxxxxxxxxxxxxx',    //你要调用的接口地址
          method: 'POST',
          header: {
            "Content-Type": "application/x-www-form-urlencoded",
            "cookie": cookie    //在header里面加上cookie
          },
          data: {
            currentPage: '1'    //要发送的数据,根据自己的需要填写
          },
          success: res => {
            console.log(res);
          }
        })
      }
    })
    

    结果如图所示:
    在这里插入图片描述
    可以看到,结果为200,正常访问。

    4.本菜鸟踩的一个巨坑

    感觉应该都知道,但万一万一万一有人跟我一样啥都不懂呢。。在这说下吧。卡了我这么久还有个很重要的原因,调用接口时发送的data我刚开始没填。。我以为data本就是选填,不填也行,结果疯狂报错500。。最后我去网页端看了一下,查看方法为鼠标右键后点击最下方的“检查”,之后操作如图所示:
    在这里插入图片描述
    在右边显示的文本区往下拉,看到有个from data,如图所示:
    在这里插入图片描述
    看到这我心里一凉,靠,这有这玩意啊。。赶紧在代码里把这个currentpage给加了进去,一运行,该死的500报错终于没了。。这么小的错,唉。。

    5.最后一点tips

    完事之后我又分别试了几遍,发现如果不加“sessionid=”这个字符串拼接或者不加应有的data,都会报错500。这是我第一篇CSDN的文章,希望能给各位一点帮助~

    展开全文
  • 今天小编就为大家分享一篇vue项目使用axios发送请求让ajax请求头部携带cookie的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Delphi使用TIdhttp发送Cookie的例子,是模拟发送,当使用TIdHttp执行网络请求时模拟cookie值发送到服务器端。思路是先用一个for循环删除原来的cookie值,然后再使用Request.CustomHeaders.Add方法创建cookies: ...

    Delphi使用TIdhttp发送Cookie的例子,是模拟发送,当使用TIdHttp执行网络请求时模拟cookie值发送到服务器端。思路是先用一个for循环删除原来的cookie值,然后再使用Request.CustomHeaders.Add方法创建cookies:

    01 uses StrUtils;
    02 procedure TForm1.Button1Click(Sender: TObject);
    03 var
    04   J: Integer;
    05   HtmlStr: string;
    06 begin
    07   //删除原有cookie值
    08   for J := IdHTTP1.Request.CustomHeaders.Count - 1 downto 0 do begin
    09     if StartsText('cookie:', IdHTTP1.Request.CustomHeaders[J]) then
    10       IdHTTP1.Request.CustomHeaders.Delete(J);
    11   end;
    12   IdHTTP1.Request.CustomHeaders.Add('Cookie: username=bcoder' ) ;
    13   //下面的方法也可实现,不过没测试过
    14   //IdHTTP1.Request.CustomHeaders.Values['cookie'] := 'username=bcoder';
    15   HtmlStr := IdHTTP1.Get('http://www.baidu.com');
    16 end;

    TIdhttp的一个属性,AllowCookies,当此值为False时允许用户发送自定义的cookie,当此值为True时,不允许用户发送自定义的cookie。

    展开全文
  • 1.今天在上线过程中,发现所有请求都不发送cookie,导致登录失效 原因排查 1.cookie写入域名和请求接口域名不一致,导致浏览器判定位跨域,所以不传递cookie 解决办法, 设置 axios withCredentials 属性 var ...

    1.今天在上线过程中,发现所有的请求都不发送cookie,导致登录失效
    原因排查
    1.cookie写入的域名和请求的接口域名不一致,导致浏览器判定位跨域,所以不传递cookie

    解决办法,
    设置 axios 的 withCredentials 属性

    var service=axios.create({
        baseURL:baseUrl,
        withCredentials: true, // send cookies when cross-domain requests
        timeout:50000,
    })
    或者
    axios.defaults.withCredentials = true
    
    

    一般到这里问题都能解决了,但是自己的项目中还是没看到cookie

    这时候就要想到,有没有被拦截的情况
    排查代码后,我发现,引用了mock.js在生产环境
    mock.js如果没有配置需要拦截的接口地址,会默认全部拦截转发,造成cookie不能传递的结果

    展开全文
  • 前篇介绍了直接使用httplib发送Cookie,简洁直观。创建cookielib.CookieJar对象自动管理Cookie稍繁琐一些,但是一旦创建,可供urllib2创建opener,后续所有cookie更新和过期删除都是自动处理。1. 解析Cookie Str...
  • 做web测试的基本上都用用到postman去做一些接口测试,比如测试接口的访问权限,...用postman发送cookie的请求,由于chrome安全的限制,postman是发不出带cookie的请求。如果想要发送cookie的请求,需要开启postman
  • 做web测试的基本上都用用到postman去做一些接口测试,比如测试接口的访问...用postman发送cookie的请求,由于chrome安全的限制,postman是发不出带cookie的请求。如果想要发送cookie的请求,需要开启postman In...
  • 解决办法:为现有CookieContainer手动添加在Host下设置的cookie,这样当我们访问任何其他子节点时候,Cookies就能够正常发送了。
  • <p>After logging in via $.ajax()</code> to a site, I am trying to send a second $.ajax()</code> request to that site - but when I check the headers sent using FireBug, there is no session cookie being...
  • 一、cookie的作用在我们平常写的B/S程序中,会经常用到cookie,主要有以下一些作用:1、记录用户名和密码以及该用户需要保存的一些信息,如购物购站,使用cookie,...二、向客户程序发送cookie1、创建cookie对象C...
  • JSP中cookie的使用方法(用户登入_客户端读取及发送): 一、向客户程序发送cookie1、 创建cookie对象 Cookie c = new Cookie(“userId”,”landril”);2、 设置最大时效 默认该cookie是存储在浏览器的内在中,用户...
  • 代码示例:删除名称为cart的cookie: 可以向浏览器再发送一个同名的cookie(即名称也叫cart),并设置cookie的最大生存时间为零,由于浏览器是根据cookie的名字来区分cookie,如果前后两次向浏览器发送同名的cookie,后...
  • 今天主要谈谈如何利用postman进行接口测试并发送cookie请求的方法! 做web测试基本上都会用到postman去做一些接口测试,比如测试接口的访问权限,对于某些接口用户A可以访问,用户B不能访问;比如有时需要读取...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,849
精华内容 739
关键字:

发送cookie的方法