2 回答
TA贡献1813条经验 获得超2个赞
这就是您将任何表单值发布到在线表单上的方式。前提是您知道服务的 POST 端点。
func main():
resp, err := http.PostForm(targetPostUrlHere,
url.Values{"Service_Type": {"Delivery"},
"Address_Type_Select": {"House"},
"Street": {"123 E 24th St"},
"Address_Line_2": {"4D"},
"City": {"New York"},
"Region": {"NY"},
"Postal_Code": {"10027"}})
}
**注意:字段键和值是估计值。您必须检查表单中预期的实际键名。
在您的情况下,https://www.dominos.com/en/pages/order/是表单页面的端点。填写并提交表单后,将使用类似于上述代码的 POST 方法将信息提交到专用的 CREATE 端点(CRUD 中的C ),通常可以在<form>html 标签中找到。
<form action="posttargetendpoint" method="POST">...</form>
一旦 POST 操作成功,通常 Web 服务会将您重定向到另一个页面。在您的情况下,它是https://www.dominos.com/en/pages/order/#/section/Food/category/AllEntrees/
然而,任何好的 Web 服务都不会公开暴露 POST 端点,因为它是攻击的易受攻击点。欢迎您查看 Domino 的页面源代码并相应地调整 Go 代码中的字段值。
现在要让命令行提示环绕PostForm代码,我建议您查看https://github.com/codegangsta/cli,这是一个非常好的用于创建快速命令行应用程序的包。
TA贡献1856条经验 获得超5个赞
我假设您的意思是代表用户从您的后端到另一个站点的管道信息?
在域之间传递信息的标准方式是通过 HTTP 参数,通常是通过 GET 请求,但这种功能需要远程站点已建立的协议支持。您也可以使用 iframe 将另一个站点的页面嵌入到您的页面上,但是,您将无法远程交互、调用 JS 代码,甚至根本无法查询页面。跨域安全保护措施有理由禁止此类功能,一般而言,出于安全原因,代表用户通过浏览器进行交互也受到限制。
但是,如果您想从自己的主机或浏览器中模拟用户行为,例如使用机器人或网络抓取工具,那就另当别论了。有大量框架提供了与页面交互的丰富功能。我建议您查看 Selenium,它充当虚拟浏览器。Python 中还有大量用于处理来自 HTML 和结构化数据的数据的库。您可能想查看 Beatiful Soup 和 Scrapy。
希望这可以帮助。
- 2 回答
- 0 关注
- 180 浏览
添加回答
举报