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

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

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

总有一款合适你的。 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐