当前位置: 首页 > 知识库问答 >
问题:

Post请求返回405

乌靖
2023-03-14

我必须做一个帖子,但我得到错误405

在本网站->http://177.66.89.34:8079/transparencia/#我需要迭代页面顶部的2个下拉菜单的选项。

首先,我会在“escolha o exercício”旁边加上选项:然后,我会在“escolha a entidade”旁边加上选项:

用下面的代码,我在“EscolhaoExercício:”上面写了一篇文章

# -*- coding: utf-8 -*-
import scrapy

class ScpiSpider(scrapy.Spider): # classe abstrata
    start_urls = ['http://177.66.89.34:8079/Transparencia']

def parse(self, response):
    anos_exercicios = response.xpath("//table[@id='cmbExercicio_DDD_L_LBT']//td/text()").extract()

    for ano in anos_exercicios:
        formadata = {"Scriptmanager1": "UpdatePanel1|cmbExercicio",
                         "cmbExercicio_VI": ano,
                        "cmbExercicio": ano,
                        "__EVENTTARGET": "cmbExercicio",
                        "__VIEWSTATE": response.xpath("//input[@id='__VIEWSTATE']/@value").get(),
                        "__VIEWSTATEGENERATOR": response.xpath("//input[@id='__VIEWSTATEGENERATOR']/@value").get(),
                        "__EVENTVALIDATION": response.xpath("//input[@id='__EVENTVALIDATION']/@value").get(),
                         "__ASYNCPOST": "true"}
        headers = {
            'origin': "http://177.125.200.195:8079",
            'x-requested-with': "XMLHttpRequest",
            'cache-control': "no-cache",
            'x-microsoftajax': "Delta=true",
            'user-agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
            'accept': "*/*"
        }
        yield scrapy.FormRequest(url=self.start_urls[0], formdata=formadata, callback=self.parse_entidade,
                                 dont_filter=True, headers=headers)

def parse_entidade(self, response):
    print(response)

我希望在parse_entidade中输入代码,但收到[scraphy.spidermiddlewares.httperror]信息:忽略响应<405HTTP://177.66.89.34:8079/transparencia>:HTTP状态代码未处理或不允许

共有1个答案

孟思远
2023-03-14

只需在start_url中添加一个'/'就能起到效果:

start_urls = ['http://177.66.89.34:8079/Transparencia/']

像这样启动它时得到的输出如下:

2019-08-07 09:44:43 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://177.66.89.34:8079/Transparencia/> (referer: None)
2019-08-07 09:44:43 [scrapy.core.engine] DEBUG: Crawled (200) <POST http://177.66.89.34:8079/Transparencia/> (referer: http://177.66.89.34:8079/Transparencia/)
2019-08-07 09:44:43 [scrapy.core.engine] DEBUG: Crawled (200) <POST http://177.66.89.34:8079/Transparencia/> (referer: http://177.66.89.34:8079/Transparencia/)
<200 http://177.66.89.34:8079/Transparencia/>
<200 http://177.66.89.34:8079/Transparencia/>
2019-08-07 09:44:44 [scrapy.core.engine] DEBUG: Crawled (200) <POST http://177.66.89.34:8079/Transparencia/> (referer: http://177.66.89.34:8079/Transparencia/)
<200 http://177.66.89.34:8079/Transparencia/>
2019-08-07 09:44:44 [scrapy.core.engine] DEBUG: Crawled (200) <POST http://177.66.89.34:8079/Transparencia/> (referer: http://177.66.89.34:8079/Transparencia/)
<200 http://177.66.89.34:8079/Transparencia/>
2019-08-07 09:44:45 [scrapy.core.engine] INFO: Closing spider (finished)
 类似资料:
  • 我试图使超文本传输协议后请求获得api令牌。如果成功,它应该返回访问令牌、令牌类型(承载)和expires_in的字符串值。 我的代码是一个通用的,我希望看到它能工作。但是由于某些原因,它抛出了一个例外400“远程服务器返回了一个错误。错误请求”。我一直在尽一切努力修复这个问题,但结果没有改变。 当我调试代码并在输出窗口中看到结果时,数据流有一个异常,说“这个流不支持查找操作” 我怀疑这是由于po

  • 问题内容: 我刚刚更新了Angular + Ionic的新版本,并且处理远程请求的方法停止工作并始终返回404响应。 请求如下: 处理远程请求的方法的代码如下: 但是没有运气。 服务器端通过这种方式处理请求: 如果我试图使用邮递员或卷曲发送请求,一切似乎都在工作。 离子信息: AngularJS版本: 我该如何解决? 非常感谢您的任何建议 问题答案: 哼,我只是遇到了同样的问题:标头表明它已经被拿

  • 我刚刚更新了Angulal+Ionic的新版本,处理远程请求的方法停止工作,返回总是404响应。 请求如下: 请问我该怎么解决? 多谢你的忠告

  • 我见过龙卷风文档和示例,其中self.write方法被广泛用于在超文本标记语言上呈现一些值,其中POST请求在处理程序中运行。但是我找不到关于如何将响应返回给客户的清晰信息。 例如,我正在从我的客户端调用Tornado服务器上的POST请求。接受post请求的代码为: 有了这个,我可以找到cbtp的值,有了,我可以用HTML打印它。但是,相反,我想以JSON格式将这个值返回给客户机,比如我想知道如

  • 我已经使用zappa在aws lambda上部署了一个flask应用程序,现在该应用程序在所有endpoint上都运行良好,除了我的主endpoint,当我对其发出post请求时,它返回{“消息”:“endpoint请求超时”} 真的需要一个修复或想法如何克服这个我需要调用分析路线,部署的url是 https://2ixfyfcsik.execute-api.eu-west-2.amazonaws

  • 所以我想打印响应的结果,然后使用gson为模型生成数据,但响应永远不会得到返回,因为调用了onResponse。! 如果你注意到Logcat,日志。我的回答没有显示。。!?但是在使用该请求的活动的onSuccess中,它通常会显示日志,但是如果日志包含响应对象,它不会显示哪个非常奇怪,也没有任何意义。。!? Logcat公司 我尝试使用具有相同url和参数的PostMan测试请求,它通常返回jso