如何使用python将请求发布到.aspx页面

如何使用python将请求发布到.aspx页面,python,asp.net,beautifulsoup,python-requests,urllib,Python,Asp.net,Beautifulsoup,Python Requests,Urllib,我正在尝试浏览以下网站: 为了让每个页面都能被抓取,我需要首先在这个.aspx页面上进行搜索,输入名字和姓氏并启动搜索 使用internet上的资源,我整理了以下http POST请求: url = 'https://wwwapps.ncmedboard.org/Clients/NCBOM/Public/LicenseeInformationResults.aspx' headers = { 'Accept': 'text/html,application/xhtml+xml,appl

我正在尝试浏览以下网站:

为了让每个页面都能被抓取,我需要首先在这个.aspx页面上进行搜索,输入名字和姓氏并启动搜索

使用internet上的资源,我整理了以下http POST请求:

url = 'https://wwwapps.ncmedboard.org/Clients/NCBOM/Public/LicenseeInformationResults.aspx'

headers = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'en-GB,en;q=0.9,en-US;q=0.8,zh-TW;q=0.7,zh;q=0.6,zh-CN;q=0.5'
}

session = requests.session()
response = session.get(url, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'})
soup = BeautifulSoup(response.content, 'html.parser')
form_data = {
    '__VIEWSTATE': soup.find('input', {'name': '__VIEWSTATE'}).get('value'),
    '__VIEWSTATEGENERATOR': soup.find('input', {'name': '__VIEWSTATEGENERATOR'}).get('value'),
    'waLastName':'Smith',
    'waFirstName':'John',
    '__EVENTTARGET':'btnNext'
}

f = session.post(url, data=form_data, headers=headers)
soup = BeautifulSoup(f.content, 'html.parser')
for a in soup.find_all('a', href=True):
    print("Found the URL:" + a['href'])
这篇文章似乎没有任何效果,因为当您在post请求之后查看html时,它似乎没有显示结果页面。有关于为什么会这样的建议吗


谢谢

您可能必须设置asp.net会话cookie,该cookie将为每个新会话生成新的会话。在您的网站中,哪个()是ASP.NET_SessionId=(您的SessionId的值由网站提供)

如果未正确验证CSRF,则可能会绕过它