ruby mock http请求,但服务器无法获取头

时间:2013-04-26 12:58:38

标签: ruby http

我的红宝石代码如下:

require "net/http"
require "open-uri"

require "uri"

@agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31'
data = {"m"=>"user", "a"= >"login", "release"=>"20110501", "appid"=>"3"};

uri = URI.parse("url")
request = Net::HTTP.post_form(uri, data)

request.initialize_http_header({"USER-AGENT" => "asdsdsd"})
puts request.class
puts request.body

下面的服务器代码:

<?php
header("Content-Type: text/html; charset=utf-8");
echo $_SERVER['HTTP_USER_AGENT']."\n";
?>

需要你的帮助,有人可以帮助我,非常感谢你?

1 个答案:

答案 0 :(得分:0)

最后我得到了我的领导和ruby-china.org的回答 然后我改变了一些东西,它现在适合我

require "net/http"
require "open-uri"
require "uri"

@agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31'
data = {"m"=>"user", "a" =>"login", "release"=>"20110501", "appid"=>"3"};

uri = URI.parse("http://localhost:8080/server/uc.php")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data(data)
request.initialize_http_header({"USER-AGENT" => @agent})

response = http.request(request)
puts response.body