diff --git a/scrapy/http/request/form.py b/scrapy/http/request/form.py index 2864ac030..252c193a4 100644 --- a/scrapy/http/request/form.py +++ b/scrapy/http/request/form.py @@ -30,6 +30,7 @@ class FormRequest(Request): items = formdata.iteritems() if isinstance(formdata, dict) else formdata query = [(unicode_to_str(k, self.encoding), _unicode_to_str(v, self.encoding)) for k, v in items] + self.method = 'POST' self.body = urllib.urlencode(query, doseq=1) self.headers['Content-Type'] = 'application/x-www-form-urlencoded' diff --git a/scrapy/tests/test_http_request.py b/scrapy/tests/test_http_request.py index 3d37f16e7..3c50ffec9 100644 --- a/scrapy/tests/test_http_request.py +++ b/scrapy/tests/test_http_request.py @@ -184,6 +184,7 @@ class FormRequestTest(unittest.TestCase): # using default encoding (utf-8) data = {'one': 'two', 'price': '\xc2\xa3 100'} r2 = FormRequest("http://www.example.com", formdata=data) + self.assertEqual(r2.method, 'POST') self.assertEqual(r2.encoding, 'utf-8') self.assertEqual(r2.body, 'price=%C2%A3+100&one=two') self.assertEqual(r2.headers['Content-Type'], 'application/x-www-form-urlencoded')