отправка данных, но результат показывает запрос GET вместо POST - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь использовать urllib для заполнения формы, а затем получить результаты из отправленных данных. Приложение, на которое я отправляю сообщение, находится на сервере, к которому мне нужно войти через appgate, чтобы получить к нему доступ. Форма POST (которую я вижу в ответе в терминале) выглядит так:

    <form action="accuracy-upload3" method="post" 
    enctype="multipart/form-data">
    Human: <input type="file" id="human" name="human"><br>
    Machine: <input type="file" id="machine" name="machine"><br>
    <input type="submit" class="submit" value="Submit" />
    </form>

Но даже если метод "POST", я, кажется, вместо этого выполняю GET, поскольку все, что возвращается, - это html из url, а не ответ от url на параметр 'action'. Мой код выглядит следующим образом:

    url = "https://accuracy3.html"
    filename1 = 'human.txt'
    filename2 = 'machine.txt'
    filedata1 = open(filename1).read()
    filedata2 = open(filename2).read()

    values = {
        "Human": filedata1,
        "id": "human",
        "name": "human",
        "Machine": filedata2,
        "id": "machine",
        "name": "machine",
        "value": "Submit"
     }
    req = urllib2.Request(url, data = urllib.urlencode(values), headers 
     = 
    {"Content-type": "application/x-www-form-urlencoded"})
    response = urllib2.urlopen(req)
    print response.read()

С Выполнение POST-вызова вместо GET с использованием urllib2 Я вижу, что он должен отправлять POST, так как я отправил данные, но он этого не делает.

Кто-нибудь может увидеть, в чем проблема с моим скриптом?

...