POST请求

1. POST请求

POST请求主要用于向服务器发送应该被保存的数据,被发送的数据会在请求体中伴随请求发送到后台,该数据可以是任意大小,任意类型。

常见的POST请求应用场景就是注册、登录,以表单登录为例:

1.1 原生表单方式

<form action="http://bufantec.com/api/test/user/doLogin" method="POST">
    <input type="text" name="username" class="uname">
    <input type="password" name="password" class="pwd">
    <button>登录</button>
</form>

上例展示了一个表单登录,当你输入用户名或密码后会提交到我们的后台地址,然后返回包含登录成功或者失败信息的JSON字符串。打开控制台,查看网络工作:

1.2 AJAX方式

var xhr = new XMLHttpRequest();
xhr.responseType = "json";
xhr.onreadystatechange = function (){
    if(xhr.readyState == 4 && xhr.status == 200){
        console.log(xhr.response);
    }
}
xhr.open("POST", "http://bufantec.com/api/test/user/doLogin");
// 多了一个请求头信息的设定, 我们需要根据后端程序员提供的接口文档, 设置相应的请求头信息
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
// 携带的参数信息放在send中
xhr.send("username=libai&password=123456");

content-type:数据发送出去后,需要接收的服务端可以解析成功,一般服务端会根据此字段来获取参数是怎么编码的,然后对应去解码,一般认为content-type有以下四种类型:

+ `text/plain`    AJAX请求的默认值
+ `application/json`   json格式, 目前支持率比较高的编码方式
+ `application/x-www-form-urlencoded`   form表单数据的提交编码设置
+ `multipart/form-data`   二进制文件的编码方式 ( 常用来提交图片或者文件等 )

该字段的设定是跟后端程序员约定好的。发送请求时,需要将参数整理成约定的格式,发送出去。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
selenium是一个用于自动化浏览器操作的工具,可以模拟浏览器的行为,进行网页的交互操作。对于post请求,selenium同样提供了相应的方法来实现。 在selenium中,我们可以使用WebDriver的`execute_script()`方法来执行JavaScript代码,从而模拟post请求。具体的步骤如下: 1. 创建一个WebDriver实例:首先,我们需要安装selenium,并导入相应的库。然后,创建一个WebDriver实例,例如ChromeDriver。 2. 打开目标网页:使用`get()`方法打开目标网页。 3. 准备post请求数据:获取需要发送的post请求的数据,可以通过找到对应的表单元素进行获取,或者手动构造数据。 4. 构造并执行post请求:使用JavaScript代码构造post请求,并通过`execute_script()`方法执行。例如,可以使用XMLHttpRequest对象来发送post请求,将准备好的数据传递进去。 5. 处理返回结果:处理post请求的返回结果,可以使用JavaScript代码提取需要的信息,或者使用WebDriver提供的方法来获取返回的网页内容。 6. 关闭WebDriver实例:完成后,记得关闭WebDriver实例。 需要注意的是,selenium的post请求是模拟浏览器的行为,并不是直接发送请求到服务器。因此,post请求在浏览器中执行时会产生网络请求,但实际的请求并没有发送出去。如果需要直接发送post请求到服务器,并获取返回的结果,可以考虑使用其他方法,如requests库等。 总而言之,selenium可以通过模拟浏览器行为实现post请求,但是对于直接发送post请求到服务器并获取结果,建议使用其他库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值