PyCharm中的<versionspec>检查错误是什么?

问题描述

试图构建一个使用用户请求文件的程序。 当我尝试解析名为POST.txt文件时,出现错误

<versionspec>,RequirementsTokenType.COMMENT,RequirementsTokenType.EOL,RequirementsTokenType.LSBRACE,RequirementsTokenType.SEMICOLON or RequirementsTokenType.WHITE_SPACE expected,got '/'

看起来它像请求文件一样插入请求文件,但是我不知道为什么,我只是简单地粘贴了burpsuite的请求并保存到.txt文件中。 到目前为止,当我处理请求文件时,效果很好。

这是请求:

POST /forum/ HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip,deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
Origin: http://localhost
DNT: 1
Connection: close
Referer: http://localhost/forum/
Cookie: PHPSESSID=f42ec9c38b762bb6f9856f5e99963610
Upgrade-Insecure-Requests: 1

l_username=l33t&l_password=1337

这是我的程序到目前为止的样子(如果未解析我的请求文件,则无法进一步移动):

import argparse
import requests
import Burpee.burpee as burp
import re

MARKER = input("What are the markers for the variables (Default: '$'): ") or '$'

parser = argparse.ArgumentParser(description = 'sniper.py,Allows 1 set of payloads,runs by order '
                                               'in all the marked positions,one at a time.')
parser.add_argument('request_file',help = 'Request file with marked variables (POST or GET)')

args         = parser.parse_args()
request_file = args.request_file

headers,POST_data = burp.parse_request(request_file)
METHOD = burp.get_method_and_resource(request_file)[0]  # Sets METHOD (POST \ GET)

marked_vars = []
with open(request_file,'r') as request_f:
    lines = request_f.readlines()
    for line in lines:
        marked = re.findall('\$(.*?)\$',line)
        for var in marked:
            marked_vars.append(var)
    print(marked_vars)

destination = burp.get_method_and_resource(request_file)[1]  # Where the referer sends the request

+我在PyCharm中遇到的检查错误

<versionspec>,got '/'

我一生中从未见过这种检查。我该如何解决这个问题?

解决方法

我在处理文本文件时遇到了同样的问题,但显然 PyCharm 无法识别“.txt”扩展名。

尝试创建一个没有扩展名的新文件,然后尝试解析它。

它对我有用,所以如果这对你有用,请告诉我。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...