使用python和请求,如何进行正确的POST调用以及在何处查找标头?

我访问了下面具有公共信息的站点,并在“检查”元素中跟踪了结果

link,在“ Nome da Parte”字段中键入名称“ MARCONI FERREIRA PERILLO JUNIOR”,然后单击“ Consultar”按钮

以下是诉讼列表

在Inspect元素的“网络”标签中,我看到有一个“请求URL:” https://pjd.tjgo.jus.br/BuscaProcessoPublica(使用POST方法)

我遵循了朋友在this question上的建议,并尝试根据请求创建Python脚本以捕获JSON格式的搜索结果。我这样尝试过:

import requests

url = "https://pjd.tjgo.jus.br/BuscaProcessoPublica"

header = {
    'Cookie': 'style=null; WIDPJP=.cp06-2:cp06-2; JSESSIONID=h_9l1zwHbaWGL2pPbVTyf8alvfVUREhUbCtqNGxN.cp06:server-cp06-2','Content-Type': 'application/json'
}

r = requests.post(url,headers=header)
r
<Response [200]>

但是返回的只是查询屏幕上的文本

请问有人知道我如何获取正确的标题信息并进行正确的呼叫吗?

我正在寻找this question中指出的解决方案。

kkkkkwwwpopo 回答:使用python和请求,如何进行正确的POST调用以及在何处查找标头?

如果您在“网络”标签中查看并右键单击网络请求,然后选择“复制->复制为cURL”,则会得到以下内容:

curl 'https://pjd.tjgo.jus.br/BuscaProcessoPublica' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Accept: application/json,text/javascript,*/*; q=0.01' -H 'Origin: https://pjd.tjgo.jus.br' -H 'X-Requested-With: XMLHttpRequest' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.97 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' -H 'Sec-Fetch-Site: same-origin' -H 'Sec-Fetch-Mode: cors' -H 'Referer: https://pjd.tjgo.jus.br/BuscaProcessoPublica?PaginaAtual=2&Passo=7' -H 'Accept-Encoding: gzip,deflate,br' -H 'Accept-Language: en-US,en;q=0.9' -H 'Cookie: WIDPJP=.cp03-1:cp03-1; style=null; JSESSIONID=kMiu0qC-d11BAdWVd6QoJM837YUXuTsWVgTofjLk.cp03:server-cp03-1' --data 'chamadaAjax=true&tabela=1&offset=0&PassoEditar=12&consultaPronta=true&' --compressed

然后,您可以使用https://curl.trillworks.com/之类的工具,将其从cURL格式转换为请求格式,并以

结尾

cookies = {
    'WIDPJP': '.cp03-1:cp03-1','style': 'null','JSESSIONID': 'kMiu0qC-d11BAdWVd6QoJM837YUXuTsWVgTofjLk.cp03:server-cp03-1',}

headers = {
    'Connection': 'keep-alive','Pragma': 'no-cache','Cache-Control': 'no-cache','Accept': 'application/json,*/*; q=0.01','Origin': 'https://pjd.tjgo.jus.br','X-Requested-With': 'XMLHttpRequest','User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/78.0.3904.97 Safari/537.36','Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8','Sec-Fetch-Site': 'same-origin','Sec-Fetch-Mode': 'cors','Referer': 'https://pjd.tjgo.jus.br/BuscaProcessoPublica?PaginaAtual=2&Passo=7','Accept-Encoding': 'gzip,br','Accept-Language': 'en-US,en;q=0.9',}

data = {
  'chamadaAjax': 'true','tabela': '1','offset': '0','PassoEditar': '12','consultaPronta': 'true','': ''
}

response = requests.post('https://pjd.tjgo.jus.br/BuscaProcessoPublica',headers=headers,cookies=cookies,data=data)

# Edit: If you want to get all the pages of data,you can do something like this: 

response = requests.post('https://pjd.tjgo.jus.br/BuscaProcessoPublica',data=data)

TOTAL = response.json()['total']

offset = 0

values = []

while offset < TOTAL:
    data['offset'] = str(offset)
    response = requests.post('https://pjd.tjgo.jus.br/BuscaProcessoPublica',data=data)
    rows = response.json()['rows']
    offset += len(rows)
    values += rows

本文链接:https://www.f2er.com/3099557.html

大家都在问