我正在尝试使用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)
答案 0 :(得分:1)
您的网址包含一些GET数据。 根据Web服务器的编程方式,这可能会导致服务器加载页面以获取GET请求而不是POST请求。
从网址中删除?action=showNoNoticeRequiredToolForm
会给您正确的回复:
url = r'https://oeaaa.faa.gov/oeaaa/external/gisTools/gisAction.jsp'