Curl转Python代码 (无需依赖Postman)

这篇具有很好参考价值的文章主要介绍了Curl转Python代码 (无需依赖Postman)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

应用场景

需要对浏览器某些请求二次开发,完成批量操作等自动开发

使用说明

F12->网络 选中请求,右键复制为curl(bash),然后替换到下面代码curl变量,然后运行生成python代码

import requests
import json
import re

# curl为浏览器请求右键复制的curl(bash)版本,其他curl暂未测试
def curl_requests():
    curl = """
    curl 'http://xxx' \
      -H 'Accept: application/json, text/plain, */*' \
      -H 'Accept-Language: zh-CN,zh;q=0.9' \
      -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36' \
      --data-raw '{"expr":null,"datasourceType":[],"warehouseType":[],"pagination":{"pageNum":1,"pageSize":10,"datasourceType":null,"warehouseType":null,"sort":"desc","sortField":"update_time"}}' \
      --compressed \
      --insecure  """
    method = "GET"
    payload = None

    rows = re.split("[ ]{3,}", curl.strip())
    url = re.match("curl \'(.*)\'", rows[0]).groups(0)[0]
    header = {}
    for row in rows[1:]:
        if row.startswith("-H"):
            groups = re.match("-H [$]?'([\w-]*): (.*)'", row).groups()
            key = groups[0]
            value = groups[1]
            header[key] = value
        if row.startswith("--data-raw"):
            payload = re.match("--data-raw '(.*)'", row).groups(0)[0]
    if payload is not None:
        method = "POST"

    print(f"url:{url}\nmethod:{method}\nheaders:{header}\npayload:{payload}\n")

    print("generate python requests")

    print(f"url='{url}'")
    print(f"headers={header}")
    print(f"payload={json.dumps(payload)}")
    print(f"response = requests.requests('{method}',url,payload,headers)")

注意事项

手动编写的curl未测试是否兼容,主要是格式要保持一致,代码是按照浏览器生成的curl格式解析的文章来源地址https://www.toymoban.com/news/detail-519695.html

到了这里,关于Curl转Python代码 (无需依赖Postman)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包