https脚本

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

以下是一个使用 `curl` 的 Bash 脚本,可以发送 HTTPS 的 GET 和 POST 请求,同时支持 cookies 和gzip 压缩:

 

```bash

#!/bin/bash

 

# 默认配置

COOKIE_FILE="cookies.txt"  # 存储cookies的文件

USER_AGENT="Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36"

ACCEPT_ENCODING="gzip, deflate, br"

 

# 帮助信息

function usage() {

    echo "Usage: $0 [get|post] <URL> [DATA]"

    echo "Options:"

    echo "  get    - 发送 HTTPS GET 请求"

    echo "  post   - 发送 HTTPS POST 请求"

    echo "  URL    - 请求的目标URL"

    echo "  DATA   - POST 请求的数据,格式为 \"key1=value1&key2=value2\""

    echo "Example:"

    echo "  $0 get https://example.com"

    echo "  $0 post https://example.com 'param1=value1&param2=value2'"

}

 

# GET 请求函数

function http_get() {

    local url="$1"

    curl -s -L -b "$COOKIE_FILE" -c "$COOKIE_FILE" -A "$USER_AGENT" \

         -H "Accept-Encoding: $ACCEPT_ENCODING" "$url"

}

 

# POST 请求函数

function http_post() {

    local url="$1"

    local data="$2"

    curl -s -L -b "$COOKIE_FILE" -c "$COOKIE_FILE" -A "$USER_AGENT" \

         -H "Accept-Encoding: $ACCEPT_ENCODING" -d "$data" "$url"

}

 

# 参数检查

if [[ $# -lt 2 ]]; then

    usage

    exit 1

fi

 

# 根据参数选择GET或POST

method="$1"

url="$2"

data="$3"

 

case "$method" in

    get)

        http_get "$url"

        ;;

    post)

        if [[ -z "$data" ]]; then

            echo "Error: POST request requires data."

            usage

            exit 1

        fi

        http_post "$url" "$data"

        ;;

    *)

        echo "Error: Invalid method. Use 'get' or 'post'."

        usage

        exit 1

        ;;

esac

```

 

### 脚本说明

- **COOKIE_FILE**:指定存储 cookies 的文件(每次请求会自动更新 cookies)。

- **USER_AGENT** 和 **ACCEPT_ENCODING**:模拟浏览器访问,并指定支持 gzip、deflate 压缩。

- **http_get** 和 **http_post**:分别定义 GET 和 POST 请求函数,使用 `curl` 执行请求。

- **用法**:运行时指定请求类型(get/post)、目标 URL 以及(若为 POST 请求)请求数据。

 

### 使用示例

```bash

# 发送 GET 请求

./script.sh get "https://example.com"

 

# 发送 POST 请求

./script.sh post "https://example.com" "param1=value1&param2=value2"

```

 

这样,该脚本可以发送 GET 和 POST 请求,同时支持 cookies 和 gzip。

 

 

下面是一个用 Python 编写的支持 HTTPS 请求、gzip、cookies 和自定义 header 的程序,使用`requests` 库实现。

 

```python

import requests

 

class HttpClient:

    def __init__(self):

        # 初始化一个带 cookies 的会话

        self.session = requests.Session()

        # 默认 headers

        self.session.headers.update({

            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36",

            "Accept-Encoding": "gzip, deflate, br",

            "Accept": "application/json, text/plain, */*"

        })

 

    def set_headers(self, headers):

        """更新请求头"""

        self.session.headers.update(headers)

 

    def get(self, url, params=None):

        """发送 HTTPS GET 请求"""

        try:

            response = self.session.get(url, params=params)

            response.raise_for_status()

            return response

        except requests.RequestException as e:

            print(f"GET request failed: {e}")

            return None

 

    def post(self, url, data=None, json=None):

        """发送 HTTPS POST 请求"""

        try:

            response = self.session.post(url, data=data, json=json)

            response.raise_for_status()

            return response

        except requests.RequestException as e:

            print(f"POST request failed: {e}")

            return None

 

    def close(self):

        """关闭会话"""

        self.session.close()

 

# 示例用法

if __name__ == "__main__":

    client = HttpClient()

 

    # 自定义 header

    custom_headers = {

        "Authorization": "Bearer your_token_here"

    }

    client.set_headers(custom_headers)

 

    # 发送 GET 请求

    url = "https://jsonplaceholder.typicode.com/posts"

    response = client.get(url)

    if response:

        print("GET response:", response.json())

 

    # 发送 POST 请求

    url = "https://jsonplaceholder.typicode.com/posts"

    data = {

        "title": "foo",

        "body": "bar",

        "userId": 1

    }

    response = client.post(url, json=data)

    if response:

        print("POST response:", response.json())

 

    # 关闭客户端

    client.close()

```

 

### 代码说明

- **HttpClient 类**:封装了一个 HTTPS 客户端,支持 GET 和 POST 请求。

- **`set_headers` 方法**:允许动态更新请求头。

- **gzip 和 cookies 支持**:`requests` 库会自动处理 gzip 压缩和 cookies,因此无需手动操作。

- **异常处理**:使用 `try-except` 块来捕获请求失败的情况,并输出错误信息。

 

### 示例用法

- 自定义 header 示例:设置一个带 `Authorization` 字段的 header。

- GET 和 POST 请求示例:分别演示如何发送请求并解析 JSON 响应。

 

确保安装 `requests` 库,使用以下命令:

```bash

pip install requests

```

 

以下是一个使用 Python 的 `requests` 库实现的支持 HTTPS 请求的脚本,支持 gzip、cookies 和自定义headers。`requests` 库是 Python 中非常流行的 HTTP 请求库,且在 Windows 下容易安装和使用。

 

### 代码

 

```python

import requests

 

class HTTPSClient:

    def __init__(self):

        # 初始化 session 用于保持 cookies

        self.session = requests.Session()

        # 默认 headers 设置,支持 gzip

        self.session.headers.update({

            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0 Safari/537.36',

            'Accept-Encoding': 'gzip, deflate, br'

        })

 

    def set_headers(self, headers):

        """设置自定义 headers"""

        self.session.headers.update(headers)

 

    def get(self, url, params=None):

        """发送 HTTPS GET 请求"""

        try:

            response = self.session.get(url, params=params)

            response.raise_for_status()  # 检查是否请求成功

            return response.text  # 返回响应内容

        except requests.RequestException as e:

            print(f"GET 请求出错: {e}")

            return None

 

    def post(self, url, data=None):

        """发送 HTTPS POST 请求"""

        try:

            response = self.session.post(url, data=data)

            response.raise_for_status()

            return response.text

        except requests.RequestException as e:

            print(f"POST 请求出错: {e}")

            return None

 

    def close(self):

        """关闭 session"""

        self.session.close()

 

# 使用示例

if __name__ == "__main__":

    client = HTTPSClient()

 

    # 设置自定义 headers

    custom_headers = {

        'X-Custom-Header': 'CustomValue'

    }

    client.set_headers(custom_headers)

 

    # 发送 GET 请求

    url = "https://httpbin.org/get"

    response = client.get(url)

    if response:

        print("GET 响应内容:", response)

 

    # 发送 POST 请求

    url = "https://httpbin.org/post"

    data = {

        "key1": "value1",

        "key2": "value2"

    }

    response = client.post(url, data=data)

    if response:

        print("POST 响应内容:", response)

 

    # 关闭 client

    client.close()

```

 

### 说明

 

- **HTTPSClient 类**:创建一个简单的 HTTPS 客户端封装类,使用 `requests.Session` 对象来维持会话,便于处理 cookies。

- **`set_headers` 方法**:允许用户传入一个字典,用于设置或更新自定义的 HTTP headers。

- **`get` 和 `post` 方法**:分别用于发送 GET 和 POST 请求。

  - `params` 参数用于 GET 请求的 URL 参数,`data` 参数用于 POST 请求的表单数据。

  - 请求成功时,返回响应内容,出错时输出错误信息。

- **gzip 支持**:通过 `Accept-Encoding` 头中的 `gzip` 和 `deflate` 设置自动解压缩。

- **关闭 Session**:调用 `close()` 方法关闭会话以释放资源。

 

### 运行环境

确保 `requests` 库已安装,可以用以下命令在命令行安装:

```bash

pip install requests

```

 

### 示例输出

运行后,脚本会发送一个 GET 请求和一个 POST 请求,并打印响应内容。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

根据原作 https://pan.quark.cn/s/3c721ccd79e6 的源码改编 本项目是这是無非的脚本库,暂时只适配青龙使用,请释放你的时间,让脚本来代替你的工作。 目前支持 青龙 依赖管理 点击青龙面板的依赖管理——>新建依赖——>选择Python3、自动拆分选择是、复制以下的依赖填到名称里——>点击确定,等待安装完成,已经有的依赖就用安装了。 Python3依赖 image-20230413142448646 订阅管理 我们需要把仓库的脚本添加到订阅里,这样可以获取脚本,同样可以定时获取到最新的脚本(取决于你是否禁用)。 点击青龙面板的订阅管理——>创建订阅 直接在名称这输入:,就会自动输入到其他的空栏。 名称: 随便写,自己看得懂就行,或者直接写 类型: 公开仓库 链接: 定时类型: crontab 定时规则: 随意,或者写,每天5点自动拉取仓库。 黑名单: 依赖文件: 其他值默认,点击确定即可。 最后点击订阅管理里面新增的这条信息,点击即可,这时候我们就可以在定时任务中看到拉取下来的脚本了,如果想自动更新,自己禁用该订阅管理就行了。 环境变量 环境变量每个脚本的变量名字同,具体请查看文档:参考文档 特别声明: 本仓库发布的项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,能保证其准确性,完整性和有效性,请根据情况自行判断。 Star History Star History Chart
下载方式:https://pan.quark.cn/s/cb4c54f53541 BilibiliSuitRushBuy[哔哩哔哩装扮抢购脚本] 这个脚本为啥有两个分支? 分支为蹲号抢Id模式 分支为定时抢购模式 这个脚本和其他仓库有什么同? 本项目采用编写,比其他采用编写的脚本更加快速 本脚本功能齐全,可以提前开启并在合理配置参数时保证 ban IP 本脚本功能齐全,可以实现抢指定装扮Id 本脚本功能齐全,可以实现单个订单购买多个同一装扮,使得抢指定装扮Id的成功率大大增加 还有其他细节部分请自行阅读源码发现,予列出... 关于数据包参数的获取? 如果B币余额足,那么使用任意抓包工具皆可在环境配置正确的情况下获取到所有的所需参数 如果B币余额充足,请务必使用诸如等有 发送断点 功能的抓包工具进行抓取所需参数,若开启发送断点那么真的会在抓包时直接购买成功 当然如果家里有矿在意这些小钱的话,那么随便用啥抓都行,就是一个装扮钱吗 能能来点抓包的demo图? 以下图片蓝色涂描部分包含脚本中的、、、 api 以下图片分别为余额足时和余额充足时的数据包,蓝色涂描部分皆包含脚本中的、、、、、、、 api api 这个仓库的代码为什么那么烂? 这是我刚开始学习并且第一次用于实践用途,所以代码质量难以保证,如果觉得有任何可以改进的部分欢迎提交pr。 脚本用途声明 仅限用于个人自身对B站装扮的需求,可对本脚本及本脚本的产出进行贩卖 严禁装扮贩子使用本脚本,否则任何法律问题请自行解决,与本人及本脚本无关
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/v50q8 青龙面板是一款基于Python开发的开源自动化任务执行平台,它以灵活的脚本编写和任务调度功能著称。在提供自动化任务执行的同时,青龙面板因其强大的脚本支持能力,在自动化和监控任务领域得到了广泛的应用。提供各种原创Python脚本,意味着这些脚本能够直接被集成到青龙面板中,丰富了用户可执行的任务类型和自动化场景。 这类原创Python脚本的集合通常包括各种实用的功能,例如自动化下载、备份、监控、消息通知、数据抓取、日志分析等,为用户搭建自动化工作流提供了极大的便利。通过这些脚本,用户可以在青龙面板的辅助下完成多种复杂的任务,而无需具备深厚的编程背景。这种脚本的开源特性也意味着,任何用户都可以自由地查看、修改和分享这些脚本,促进社区的发展和创新。 在技术细节上,Python脚本提供了多种编程特性,如模块化设计、简洁的语法、强大的库支持等,使其特别适合编写可扩展和可维护的自动化脚本。青龙面板与Python脚本的结合,使得这种灵活性和模块化的优势得到充分展现,用户可以根据自己的需求定制和优化脚本。 此外,由于这些脚本是原创的,它们往往针对特定的需求进行了优化,相比于网络上的一些通用脚本,这些原创脚本在兼容性、功能性方面可能更符合特定用户的实际使用场景。在使用这些脚本之前,用户应仔细阅读脚本的使用说明和功能描述,以确保脚本的功能和性能满足自己的需求。同时,考虑到安全性和隐私保护,用户在集成和运行脚本之前,还应该检查脚本的代码,确保其包含恶意代码或者未经允许的隐私数据收集行为。 值得注意的是,虽然这些脚本对青龙面板提供了额外的实用功能,但作为自动化工具,它们并免除用户对脚本运行后果的责任。用户在使用这些脚本时,仍然需要保持警惕,了解脚本的功能和运行机制,合理设置脚本的权限和执行环境,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值