从 Python-mechanize 调用 GWT RPC 函数

发布于 2024-11-27 05:03:39 字数 223 浏览 1 评论 0原文

我收到 500 :内部错误,POST 的有效负载绝对是正确的,我注意到的一件事是 Content-Type 没有使用 b.addheaders = [(' Content-Type',"text-x-gwt-rpc")] - 我不知道为什么。

有没有人有快速/脏代码用于使用 mechanize 在 Python 中访问 GWT RPC(即模拟 GWT 客户端)。浏览器?

I am getting a 500 : Internal error, the payload of the POST is definately right, one thing I noticed is the Content-Type is not "sticking" using b.addheaders = [('Content-Type',"text-x-gwt-rpc")] -- and I'm not sure why.

Does anyone have quick/dirty code used to access a GWT RPC (i.e. emulate the GWT client) in Python using mechanize. Browser?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悲凉≈ 2024-12-04 05:03:39

请勿使用非 GWT 解决方案中的 GWT-RPC,该格式是内部格式,如有更改,恕不另行通知。考虑对应用程序进行 REST 化(或使用 SOAP 并重用方法的现有代码,但需要注意接口定义)。

Do not use GWT-RPC from non-GWT solutions, the format is internal and subject to change without notice. Consider RESTifying the app (or use SOAP and reuse the existing code of the methods, but care needs to be given to the interface definitions).

泼猴你往哪里跑 2024-12-04 05:03:39

问题的答案是 GWT 要求 content-type 为 x-gwt-rpc;而不是“application/x-www-form-urlencoded”;它被硬编码在 mechanize 库的 _http.py 中。

快速而肮脏的 hack 是将其更改为 text/x-gwt-rpc; charset=UTF-8——我确信通过子类化 AbstractHTTPHandler 可以做得更好;也许其他人可以提供一种快速的方法来做到这一点。

The answer to the question is GWT requires the content-type to be x-gwt-rpc; rather than 'application/x-www-form-urlencoded'; which is hard coded in _http.py in the mechanize library.

Quick and dirty hack is to change this to text/x-gwt-rpc; charset=UTF-8 -- I'm sure this could be done better by subclassing AbstractHTTPHandler; maybe someone else could contribute a quick way to do that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文