Alex Shaw
Alex Shaw

Reputation: 13

Why do i get "Method not Allowed (HTTP CODE 405)" on sending post request?

I tried to get successful login post request, but don't understand why do i always get status code 405. I checked many tutorials and all of them worked good for some examples.

import requests
import urllib.parse

def logintest(usr, pswd):
    link = 'link'

    headers = { 'Content-Type' : 'application/x-www-form-urlencoded', 
            'Server' : 'Apache-Coyote/1.1',
            'Transfer-Encoding' : 'chunked' 
    }

    payload = urllib.parse.urlencode({
        'username': usr,
        'password': pswd
    })

    responseget = requests.get(link)
    print (responseget.status_code, responseget.reason)

    if responseget.status_code == 200:
        responsepost = requests.post(link, params = payload, headers = headers)
        print (responsepost.status_code, responsepost.reason)

logintest('username', 'password')

Upvotes: 1

Views: 1035

Answers (1)

Dean Fenster
Dean Fenster

Reputation: 2395

Because the elibrary/home endpoint does not support POST requests. You probably want to send the request to http://81.180.75.144:8080/elibrary/auth/login, like the system does.

Upvotes: 1

Related Questions