「HTTPエラー405:メソッドが許可されていません」というエラーが表示されます。私のコードは、私が推測するPython 3:HTTPエラー405:メソッドが許可されていません
import urllib.request
import urllib.parse
try:
url = 'https://www.google.com/search'
values = {'q': 'python programming tutorials'}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8') # data should be bytes
headers = {}
headers['User-Agent'] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
req = urllib.request.Request(url, data, headers = headers)
resp = urllib.request.urlopen(req)
print("HERE")
respData = resp.read()
saveFile = open('withHeaders.txt', 'w')
saveFile.write(str(respData))
saveFile.close()
except Exception as e:
print(e)
エラーが= urllib.request.Request(URL、データ、ヘッダ=ヘッダ)REQになっています。構文的なエラーは何ですか?コードで何を変更する必要がありますか?そして、どんな概念的な間違いも私を訂正します。
EDIT
コンセプト:
def URLRequest(url, params, method="GET"):
if method == "POST":
return urllib2.Request(url, data=urllib.urlencode(params))
else:
return urllib2.Request(url + "?" + urllib.urlencode(params))
への参照でエラーがクリアされています:サーバーが期待しないHTTPメソッドを使用しています。なぜあなたは 'https:// www.google.com/search'にPOSTリクエストを送信していますか? – Blender
期待通りのGETメソッドとPOSTを使用しているので、適切なメソッドを見つける –
@PavanKumarTSこれを行う正しい方法は何ですか?私はこれに初心者です。ありがとう。 –