1

这看起来很简单:

  • 在 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 中获取这些细节。

4

1 回答 1

1

当您发布问题时,也许这是一个错字,但原始帖子有

q=getProducts

然后你提出请求:

'a' => 'getProducts'

如果您使用'q' => 'getProducts'发出请求会发生什么?

于 2012-04-09T02:04:58.470 回答