You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python发送POST请求解析ASPX站点时URL被拒绝报错如何解决

ASPX站点POST请求失败修正方案

核心错误点

  • 初始GET请求用了HTTP协议而非HTTPS,导致获取的ViewState等参数对应会话无效,同时Cookie协议不匹配,POST时无法正常携带会话标识
  • POST提交表单时错误使用params参数传递表单数据,params仅用于构造URL查询参数,POST表单数据必须使用data参数传递,这是请求被拒绝的核心原因
  • 请求头键名不符合规范:User_Agent需改为User-Agent(HTTP头统一使用短横线而非下划线),HTTP_ACCEPT需删除前缀改为Accept
  • 缺少ASP.NET站点常用的校验头Referer,多数ASPX站点会校验该头防止跨站请求伪造,需设置为表单页面地址

修正后代码

from bs4 import BeautifulSoup
import lxml
from requests_html import HTMLSession
import time

s = HTMLSession()
header_simple = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Referer': 'https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx'
}

# 修正为HTTPS请求
r = s.get('https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx', headers=header_simple)
soup_dummy = BeautifulSoup(r.content, "lxml")
# 解析表单参数
viewstate = soup_dummy.select("#__VIEWSTATE")[0]['value']
viewstategen = soup_dummy.select("#__VIEWSTATEGENERATOR")[0]['value']
eventvalidation = soup_dummy.select("#__EVENTVALIDATION")[0]['value']
english = soup_dummy.select("#hfEnglishWebsiteUrl")[0]['value']

data = {
    '__VIEWSTATE': viewstate,
    '__VIEWSTATEGENERATOR': viewstategen,
    '__EVENTVALIDATION': eventvalidation,
    'ctl00$MainContent$txtName': 'bank',
    'ctl00$MainContent$cbIncludeCeased': 'on',
    'ctl00$MainContent$btnSearch': 'Find',
    'ctl00$hfAuthRequired': 'False',
    'ctl00$hfEnglishWebsiteUrl': english,
    'ctl00$stWarningLength': '30',
    'ctl00$stIdleAfter': '1200',
    'ctl00$stPollingInterval': '60',
    'ctl00$stMultiTabTimeoutSyncInterval': '20'
}

time.sleep(3)
# 修正为用data参数传递表单数据,而非params
p = s.post('https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx', data=data, headers=header_simple)

print(p.content)

内容的提问来源于stack exchange,提问作者Nikita Alexandrov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:18:03