简单记一下python的post和get两种请求方式

前言:

在 爬虫 那一块,我们已经学会简单的使用python的requests模块,今天,我来简单记录一下python的requests模块中的post方法和get方法~(即两种网页请求方式)

 

 

 

 


GET

requests.get(url, data=None, **kwargs)

url:你要访问的网址

params:携带的参数

kwargs:添加的信息(比如UA头)

  • 直接简单访问
import requests
url='https://baidu.com/'    //定义url
response=requests.get(url)     //发送get请求
print(response.url)

输出:https://baidu.com/

 

  • 添加字段
import requests
url='https://baidu.com/'
payload ={'wd':'1221'}
response=requests.get(url,params=payload)
print(response.url)

输出:https://baidu.com/?wd=1221

向网页传了参数,这就是GET传参

 

 


POST

发送表单:

post(url, data=None, json=None, **kwargs)

url:你要访问的网址

data:表单

kwargs:添加的信息(比如UA头)

  • 提交表单
import requests
url='https://马赛克.com/登录界面'

data = {
    'log':'123',    //举例的登录用户名
    'pwd':'123'
}
#添加UA头
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36"}
response=requests.post(url,data=data,headers=header)

print(response.text)

我们可以看到返回文本是登陆成功的界面

即我们提交表单成功啦!

发送json:

我这里写了个nodejs的服务端来检测我们的post请求,开启于1234端口,这个服务端会将客户端发送来的POST请求的内容作为响应返回给客户端,代码如下:

var http=require("http");
var fs=require("fs")
var url=require("url")


var onRequest=function(request,response){
    var pathname=url.parse(request.url).path;
    var data="";
    request.on("error",function(err){
        console.log(err);
    }).on("data",function(chunk){
        data+=chunk;
    }).on("end",function(){
        //输出json数据
       response.writeHead(200,{'Content-Type':'application/json'});
        //把对象序列化 
       response.end(JSON.stringify(data));
    })
}
var server=http.createServer(onRequest);
server.listen(1234);
console.log("node服务器在本机1234端口上");

好,我们回到 Pycharm ,

注意:python中并没有json类型这一说法,通过json模块的json.dumps(<dict>) 转换的字典对象,可以得到的是一个字符串对象,也就是说,在python中json格式的数据实际上就是一个字符串。

写如下代码:

import requests
import json

url="http://127.0.0.1:1234/"

#表单字典
data={
    "log":1,
    "paw":2
}


js = json.dumps(data)
headers = {'Content-Type': 'application/json'}
response=requests.post(url,data=data,headers=headers)
print(response.text)

开启nodejs后运行我们的python程序,输出得到的响应内容:

"log=1&paw=2"

 


 

希望对你有帮助

欢迎访问我的博客:is-hash.com

商业转载 请联系作者获得授权,非商业转载 请标明出处

 

 

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻舟在过

您的支持是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值