这看起来很简单:
- 在 Fiddler 中捕获 POST(Windows,因为我发现它比 WireShark 更容易使用)
- 获取发布的数据
Net::Http
在 Ruby 中使用类似的 POST
但是。每次我运行帖子时,它都会得到 500。真的可以在这里使用一个建议。
原始帖子(原始):
POST http://www.example.com/products/ajax HTTP/1.1
Host: www.example.com
Connection: keep-alive
Content-Length: 154
Origin: http://www.example.com
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/javascript, */*; q=0.01
Referer: http://www.example.com/products
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
q=getProducts&page=52&type=leaf_blowers
但是当我在 Rails 控制台中得到这个时:
>> res = http.post_form URI.parse(the_url), {'a' => 'getProducts', 'page'=> '52', 'type'=> 'leaf_blowers'}
=> #<Net::HTTPInternalServerError 500 Internal Server Error readbody=true>
第一个(提琴手)导致返回 HTML。第二个只是一个 500 错误。我在这里有什么明显的遗漏吗?如果您想查看 Wireshark 捕获,请告诉我如何让它看起来像 Fiddler 原始捕获——我不知道如何从 Wireshark 中获取这些细节。