次のコードを使用すると、エラーが発生しました。
TypeError: POST data should be bytes or an iterable of bytes. It cannot be str
2 番目の懸念事項として、ユーザー エージェントを正しく指定したかどうかわかりません。ユーザー エージェント全体を以下に示しMozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
ます。スクリプトでユーザー エージェントを定義する際に最善を尽くしました。
import urllib.parse
import urllib.request
url = 'http://getliberty.org/contact-us/'
user_agent = 'Mozilla/5.0 (compatible; Chrome/22.0.1229.94; Windows NT)'
values = {'Your Name' : 'Horatio',
'Your Email' : '6765Minus4181@gmail.com',
'Subject' : 'Hello',
'Your Message' : 'Cheers'}
headers = {'User-Agent': user_agent }
data = urllib.parse.urlencode(values)
req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
the_page = response.read()
この同様の質問TypeError: POST data should be bytes or an iterable of bytes を認識しています。str にすることはできませんが、答えがあまり役に立たないほど新しいです。