簡體   English   中英

如何在FormRequest上指定“ Content-Type”和“ Accept”?

[英]How to specify the “Content-Type” and “Accept” on FormRequest?

使用RequestForm ,我需要指定Content-Type為application/json; charset=UTF-8 application/json; charset=UTF-8並且Accept是*/* 這個怎么做?

目前,我的代碼如下所示:

yield scrapy.FormRequest(url='...',
                         formdata={
                             ...
                         },
                         cookies={...},
                         callback=self.parse_second)

使用瀏覽器,請求為:

POST /PaginasPublicas/_SBC.aspx/pesquisaLoteIntegracaoTPCL HTTP/1.1
Host: geosampa.prefeitura.sp.gov.br
Connection: keep-alive
Content-Length: 118
Accept: */*
Origin: http://geosampa.prefeitura.sp.gov.br
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
Content-Type: application/json; charset=UTF-8
Referer: http://geosampa.prefeitura.sp.gov.br/PaginasPublicas/_SBC.aspx
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4,ar;q=0.2,de;q=0.2,es;q=0.2,fr;q=0.2,it;q=0.2,ja;q=0.2,pl;q=0.2,tr;q=0.2,zh-TW;q=0.2
Cookie: ASP.NET_SessionId=bvvghxvsxgwzuyaudsqn5m5q

您的請求應如下所示:

yield FormRequest(..., headers={'Content-Type': 'application/json','charset':'UTF-8'})

Scrapy請求具有一個字段標頭 ,用於定義顯式標頭。 這將為您工作。

yield scrapy.FormRequest(url='...',
                     formdata={
                         ...
                     },
                     cookies={...}, headers={'Content-Type': 'application/json','charset':'UTF-8'},
                     callback=self.parse_second)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM