Python:HTTP错误405:urllib请求上不允许使用方法

时间:2019-08-19 17:15:51

标签: python python-3.x beautifulsoup python-requests

我有以下Python代码:

def insert(url, val1, val2):
    post_params = {
        '_username' : val1,
        '_password' : val2,
        'submit': 'submit'
        }
        post_args = urllib.parse.urlencode(post_params).encode()

        fp = urllib.request.urlopen(url, post_args)

        soup = BeautifulSoup(fp, "html.parser")
        soup.prettify()

        for anchor in soup.findAll('a', href=True):
            return anchor['href']

它将POST参数插入网站上<input>的{​​{1}}中。当我使用本地主机(XAMPP)运行此代码时,它可以正常工作。但是当我在一个真实的网站上运行它时,我会得到

<form method="post">

此错误所在的行是

urllib.error.HTTPError: HTTP Error 405: Method Not Allowed

我也尝试使用UserAgent:

fp = urllib.request.urlopen(url, post_args)

但这是相同的错误。

如何解决?

我的Python版本是 3.7.2

0 个答案:

没有答案