如何使用Scrapy将multipart / form-data发布到api?

时间:2018-01-19 14:17:19

标签: python forms scrapy multipartform-data

以下是multipart / form-data的示例:

-----------------------------265001916915724
Content-Disposition: form-data; name="client_id"

c3cef7c66a1843f8b3a9e6a1e3160e20
-----------------------------265001916915724
Content-Disposition: form-data; name="grant_type"

password

当使用请求lib时,我的成功代码是:

data = {
    'key': value, 'key': 'value',
}
encoder = MultipartEncoder(
    data, boundary='-----------------------------265001916915724')
headers['Content-Type'] = encoder.content_type
session = requests.session()
session.post(url, headers=headers, data=encoder.to_string(), )

但是当我使用Scrapy时,失败的代码:

        encoder = MultipartEncoder(
            data, boundary='-----------------------------265001916915724')
        me_length = encoder.len
        headers['Content-Length']= me_length
        me_body = encoder.to_string()
        yield scrapy.Request(urls,method='POST', headers=headers, body=me_body,)

我想知道如何使用Scrapy将multipart / form-data发布到api,我得到返回状态代码400,但Requests方法中的相同数据可以获得

0 个答案:

没有答案