我有以下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 。