Python之JavaScript逆向系列——1、URL——传参

简介: Python之JavaScript逆向系列——1、URL——传参

Python之JavaScript逆向系列——1、URL——传参


前言

大家好,本系列文章主要为大家提供的价值方向是网络信息获取,自动化的提取、收集、下载和记录互联网上的信息,加之自身分析,可以让价值最大化。整个内容中不会涉及到过为敏感的内容。

在这个AI+云计算+大数据时代,我们眼睛所看到的百分之九十的数据都是通过页面呈现出现的,不论是PC端、网页端还是移动端,数据渲染还是基于HTML+JavaScript进行的,而大多数的数据都是通过request请求后台API接口动态渲染的。而想成功的请求成功互联网上的开放/公开接口,必须知道它的【URL】、【Headers】、【Params】、【Body】等数据是如何生成的。我们需要了解浏览器开发者工具的功能,入门JS逆向,入门后还需要掌握例如如何【反编译js混淆】等内容,为了避免封本机IP,还需要对每次访问的IP进行代理,当我们拥有了JS逆向的能力后,根据JS所返回的动态请求参数信息便可以进行Python的具体信息获取操作,需要的知识点非常的多,故而本系列文章理论+实践会达到上百篇的文章,这篇文章是总篇,为了方便大家来直接查找所有知识点,建议之间关注收藏本篇,期望能给大家带来更高的价值。

环境准备

系统环境:win11

开发工具:PyCharm: the Python IDE for Professional Developers by JetBrains

IP代理:品易HTTP - 代理IP日更400万 - 为企业提供HTTP代理IP定制服务

api工具:Eolink - 一体化API在线管理平台_API接口管理_接口自动化测试

数据库:MySQL5.7.32——阿里云RDS数据库

主要python库:requests、PyExecJS、parsel

正文

URL传参的方法主要有以下几种

1、查询字符串(Query String):查询字符串是URL中以"?“符号后面跟着一系列参数的数据部分,这些参数用”&“符号分隔,每个参数由键和值组成,键和值用”="符号连接。这种方式常见于Web开发中,通过GET方法发送请求时,查询字符串中的参数会被浏览器解析并附加在URL后面,可以直接在浏览器地址栏中看到。

例如:http://example.com/page?name=John&age=25

2、URL编码:URL编码是一种特殊的编码方式,主要用于在URL中传输非ASCII字符。这种方法可以将数据以特殊字符的形式嵌入URL,这些特殊字符会按照一定的规则进行转换,以确保URL的正确性。在接收端,需要解码这些特殊字符,恢复为原始数据。

例如:将字符串 “Hello#World” 转化为 %23World

3、表单(Form):在HTML中,可以通过表单来提交数据,表单中可以设置各种类型的输入字段(如文本、复选框、下拉菜单等),这些字段的值可以通过URL传递。这种方式通常用于客户端和服务器之间的通信。

例如:<form action="/action_page.php" method="post"> <input type="text" name="name"> <input type="submit" value="Submit"> </form>

4、Cookie:Cookie是一种存储在用户终端的数据,可以用来跟踪用户的状态信息。通过设置HTTP头部信息,可以将数据以Cookie的形式发送到服务器。这种方式通常用于用户登录等场景,可以保持用户的状态信息。

以上就是一些常见的URL传参方法,具体使用哪种方法取决于具体的应用场景和技术需求。

RESTful API访问格式

RESTful API的访问格式通常遵循HTTP协议的标准语法。HTTP协议是一种用于在网络中传输数据的标准协议,它定义了客户端和服务器之间进行通信的方法和格式。

在RESTful API中,通常使用HTTP方法来发送请求,例如GET、POST、PUT、DELETE等。每种方法都有其特定的用途和返回结果。

访问RESTful API的基本格式通常如下:

http://[hostname]/[path] [HTTP method]

其中:

hostname 是服务器的域名或IP地址。

path 是API接口的路径,它指定了请求的目标资源。

HTTP method 是用于发送请求的方法,如GET、POST、PUT、DELETE等。

以下是不同类型的RESTful API请求示例及其访问格式:

1、GET请求:用于获取资源。

http://example.com/api/articles/12345?format=json

2、POST请求:用于创建新的资源。

http://example.com/api/articles [application/json]

其中,请求体中包含要创建的博客文章的JSON数据。

3、PUT请求:用于更新现有资源。

http://example.com/api/articles/12345 [application/json]

4、DELETE请求:用于删除资源。

http://example.com/api/articles/12345

这只是RESTful API访问的基本格式和常见方法。实际的使用可能会因API的具体设计和实现而有所不同。另外,一些API可能还支持其他HTTP方法,如PATCH(用于部分更新资源)和OPTIONS(用于获取资源的支持的操作)。

使用api请求工具

这里传统一些的使用postman,现在国内也有很多很好的工具。例如:Eolink Apikit就非常的不错。

功能很全,具体使用可以参考:

https://blog.csdn.net/feng8403000/category_12118162.html

这里有详细的功能介绍,如果不喜欢看文档,可以看视频,视频地址:

红目香薰的个人空间-红目香薰个人主页-哔哩哔哩视频

总有一款合适你的。

相关文章
|
22天前
|
JSON JavaScript 前端开发
在Python中调用和执行JavaScript
在Python中调用和执行JavaScript主要通过`PyExecJS`库实现。安装库后,可以使用`execjs.compile`编译JS代码并用`eval`或`call`执行。此外,还能加载JavaScript库和框架,调用外部JS文件,处理返回值,以及在两者间传递数据。Python和JavaScript各有优劣,适用于不同场景,结合使用可增强项目功能和灵活性。
27 0
|
23天前
sd.js 2.0封装:更加简化请求传参内容(逐步废弃、逐渐日落2024.01.02)
sd.js 2.0封装:更加简化请求传参内容(逐步废弃、逐渐日落2024.01.02)
|
2天前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
|
5天前
|
存储 JavaScript 前端开发
js原生方法,获取url上面所有参数,并返回一个对象
JavaScript函数`getUrlParameters`用于从URL中提取所有参数并返回一个键值对对象。它接收URL,分割查询字符串,解码参数对,并存储在对象中。重复参数键会被存储为数组。
|
8天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
23 0
|
12天前
|
JavaScript
js如何实现修改URL参数并不刷新页面
js如何实现修改URL参数并不刷新页面
|
19天前
|
数据采集 JSON 网络协议
「Python系列」Python urllib库(操作网页URL对网页的内容进行抓取处理)
`urllib` 是 Python 的一个标准库,用于打开和读取 URLs。它提供了一组模块,允许你以编程方式从网络获取数据,如网页内容、文件等。
36 0
|
23天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
|
29天前
|
JavaScript 前端开发 UED
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
35 2
|
2月前
|
JavaScript 前端开发 Python
生成X-Bogus的js代码,通过python调用生成
该文本是一个关于如何解析和执行JavaScript代码的步骤说明。主要内容包括: 1. 找到JavaScript文件的位置。 2. 下载代码并进行格式化。 3. 运行代码时会出现缺少变量错误,需要添加模拟环境的代码。 4. 指出主要的入口函数是`_0x5a8f25`,将其赋值给`window`。 5. 提供了整个JavaScript代码的长串内容。 6. 提供了一个Python脚本,用于调用这个JavaScript函数并处理返回的数据。 总结:这段文本描述了如何处理和运行一个JavaScript文件,以及使用Python来与这个脚本交互的示例。