我正在用Perl后端创建一个Facebook应用程序。问题是,由于Facebook发送请求作为POST请求我的web应用程序,我有一个问题获取也是应用程序的基本URL的一部分的GET参数 - 实际上我只是得到POST参数从$ CGI-> Vars。如何在POST请求中获取GET和POST请求参数?
1
A
回答
13
参见CGI/MIXING POST AND URL PARAMETERS。
简短版本:使用$CGI->param()
作为后置参数,使用$CGI->url_param()
查询字符串参数。
5
转储CGI以支持更好的界面。 Plack的param
方法返回GET和POST参数混合。
plackup -MPlack::Request -e 'sub {
my ($env) = @_;
my $r = Plack::Request->new($env);
return [200, ["Content-Type" => "text/plain"], [join "\n", $r->param("foo")]];
}'
> lwp-request -m POST -USe 'http://localhost:5000/fnord?foo=bar;baz=quux'
Please enter content (application/x-www-form-urlencoded) to be POSTed:
foo=123;baz=456
␄
POST http://localhost:5000/fnord?foo=bar;baz=quux
User-Agent: lwp-request/6.03 libwww-perl/6.03
Content-Length: 16
Content-Type: application/x-www-form-urlencoded
200 OK
Date: Thu, 27 Oct 2011 21:27:46 GMT
Server: HTTP::Server::PSGI
Content-Length: 7
Content-Type: text/plain
Client-Date: Thu, 27 Oct 2011 21:27:46 GMT
Client-Peer: 127.0.0.1:5000
Client-Response-Num: 1
bar
123
+0
+1分享plack/lwp解决方案 – qodeninja
相关问题
- 1. 如何获取从请求字符串参数AJAX POST请求
- 2. 请求参数未在POST请求
- 3. Android GET和POST请求
- 4. JAVA GET和POST请求
- 5. get和post请求用VB6.0
- 6. 将POST请求视为GET请求
- 7. Ajax POST请求变成GET请求
- 8. POST请求后的未知GET请求
- 9. 在Python中获取GET和POST请求数据BaseHTTPServer
- 10. 在Express中获取POST和GET请求的表单数据
- 11. 如何在codeigniter中检查请求是POST还是GET请求?
- 12. 在GET请求中POST数据iOS
- 13. Backbone.js在POST请求中获取数据
- 14. 厨师HTTP请求GET/POST
- 15. Arduino POST vs GET请求
- 16. Python请求POST做GET?
- 17. Http请求POST vs GET
- 18. POST请求变成GET
- 19. POST请求无法获取
- 20. 如何在Sinatra中获取xml post请求参数?
- 21. Angular:如何在post/put请求成功后获取请求?
- 22. Angular2 - HTTP POST请求参数
- 23. 如何使用GET和POST参数提出请求?
- 24. 如何在PHP中读取GET和POST请求(post是在json中)
- 25. 更改HTTP POST请求HTTPS POST请求:
- 26. REACT取POST请求
- 27. 从请求中获取POST数据
- 28. 从POST请求中获取数据
- 29. getByName POST POST请求
- 30. 如何POST请求获取jSON响应
很好的问题是,URL使用GET参数来跟踪应用程序的状态,我猜的想法是不混合GET和POST PARAMS - 除了它是部分的RFC标准我不明白为什么这很重要 - 它不会改变服务器上的任何内容,它只是检测要执行哪个步骤 – qodeninja
@nodebunny,为什么重要?你的意思是“为什么他们用不同的方法获取”?要确保“在任何情况下,URL查询字符串的内容都不会干扰发布表单中类似名称的CGI参数。”根据你所说的,这个特征对你来说应该是特别重要的。 – ikegami
为什么重要的是保持GET和POST分开......但我想我明白其中的含义。你不希望能够将某些东西设置为GET参数,并将其视为POST参数,否则会挫败POST的目的,对吗?然而,为了我的目的,我只寻找特定的参数,所以我猜它是一个静音点。我需要的参数无论它的获得或后置都无关紧要。但我现在更了解情况。 +1讨论 – qodeninja