首页 > 解决方案 > 如何从文件发送 HTTP 请求

问题描述

我有一个带有 http 请求(标题 + 正文)的 .txt 文件。如何使用 Python 或 curl 或 netcat 等工具(从命令行)发送文件中存在的 HTTP 请求?

我想使用 python/命令行“重复”文件中包含的请求。我该怎么做?

标签: pythoncurlrequestpython-requestsnetcat

解决方案


如果您只想向某个 url 发送请求,那么有一个名为 requests 的库。如果我弄错了,那么也许您的意思是如何发送自定义数据包?在这种情况下,有一个有用的库,叫做 scapy

import requests

class spammer():
    def __init__(self,nameoffile):
        self.urls = {}
        self.nameoffile = nameoffile
        self.hamspam(-1)
        self.results()

        print(' call hamspam with a variable indicating the amount of spam')

    def hamspam(self, times_spammed):

        if times_spammed < 0:
            with open(f'{self.nameoffile}.txt','r')as urls:
                lines = urls.readlines()

            for element in lines:
                resp = requests.get(element)
                self.urls[element] = {"resp":resp.status_code,"reason":resp.reason}
        else:
            for key in self.urls.keys():
                _ = requests.get(key)
                print(f'spamming url {k}')


    def results(self):
        for k,v in self.urls.items():
            print(f"for url: {k} the response was {self.urls[k]['resp']}, for reason {self.urls[k]['reason']}")
            

Spammer = spammer('nya')

这是我用 python 做的一个小脚本,我将变量重命名为自我解释,希望它有帮助:)


推荐阅读