使用请求提交表单似乎返回原始页面

时间:2018-03-29 20:46:24

标签: python webforms python-requests

我正在尝试使用python来提交this webform。但这超出了我的基本python技能,我似乎无法弄清楚为什么我只是让原来的html归还给我。

如果您使用我在下面的代码中提供的参数手动提交该表单,您将看到以下页面包含“结果”字样 你不要超过通知标准。“当我运行下面的代码时,输​​出.txt文件不包含html中的任何语句。我缺少什么?谢谢

import requests

url = r'https://oeaaa.faa.gov/oeaaa/external/gisTools/gisAction.jsp?'\
    'action=showNoNoticeRequiredToolForm'    

payload = {
        'latD': 13,  
        'latM': 13,
        'latS': 13,
        'longD': 90,  
        'longM': 13,
        'longS': 13,
        'latDir': 'N',
        'longDir': 'W',
        'datum': 'NAD83',
        'siteElevation': 1300,  
        'unadjustedAgl': 13,
        'traverseway': 'NO',
        'onAirport': 'false'
        }

r = requests.post(url, data=payload)
with open("results.txt", "w") as f:
    f.write(r.content)

1 个答案:

答案 0 :(得分:1)

您的网址包含一些GET数据。 根据Web服务器的编程方式,这可能会导致服务器加载页面以获取GET请求而不是POST请求。

从网址中删除?action=showNoNoticeRequiredToolForm会给您正确的回复:

url = r'https://oeaaa.faa.gov/oeaaa/external/gisTools/gisAction.jsp'