关于application/x-www-form-urlencoded等字符编码的解释说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于application/x-www-form-urlencoded等字符编码的解释说明相关的知识,希望对你有一定的参考价值。

参考技术A application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。
multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
application/x-www-form-urlencoded post时编码过的内容在http体里,get时编码过的内容在url里。
multipart/form-data只用在post时。

form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。

如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。

但是如果有type=file的话,就要用到multipart/form-data了。
浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

bibli直播弹幕实时爬取

1 分析数据来源

  •    在不知道弹幕信息在哪里的时候,只能去all里面查看每一个相应的信息,看信息是否含有弹幕信息
  •    在知道弹幕信息文件的时候,我们可以直接用全局文件搜索,定位到弹幕数据文件.操作如下图

技术图片

 

 

2 查看文件的请求信息

技术图片

 

3 查看请求头信息,构建请求头

技术图片

 

  • 请求头;
headers={
    Content-Type:application/x-www-form-urlencoded,
    Origin: https://live.bilibili.com,
    Referer:https://live.bilibili.com/5225369?spm_id_from=333.334.b_62696c695f6c697665.5,
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36,
}

 

  •  请求体数据
data={ 
    roomid: ‘7734200, #房间号
    csrf_token: ‘fa56950667934cf5a3479ca94abc1f9a,
    csrf: ‘fa56950667934cf5a3479ca94abc1f9a,
    visit_id: ‘‘,
}

 

 

4 代码

import requests
import time

#请求头 headers
={ Content-Type:application/x-www-form-urlencoded, Origin: https://live.bilibili.com, Referer:https://live.bilibili.com/5225369?spm_id_from=333.334.b_62696c695f6c697665.5, User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36, }
#请求体 data
={ roomid: 7734200, csrf_token: fa56950667934cf5a3479ca94abc1f9a, csrf: fa56950667934cf5a3479ca94abc1f9a, visit_id: ‘‘, } url=https://api.live.bilibili.com/ajax/msg

#实时请求数据 while True: time.sleep(2) response=requests.post(url=url,headers=headers,data=data) dic_data=response.json() # print(type(dic_data)) content=[item[text] for item in dic_data[data][room]] print(content)

 

 5 效果

技术图片

 

以上是关于关于application/x-www-form-urlencoded等字符编码的解释说明的主要内容,如果未能解决你的问题,请参考以下文章

program files/common files/apple/Apple Application Support 我的电脑中为啥没有这个文件夹?

Ajax基础 --学习记录

将字符串解析为URL

使用axios请求发送数据

关于Thinkphp中“无法加载模块”的报错

bibli直播弹幕实时爬取