您好,匿名用户
随意问技术百科期待您的加入

PHP to Ruby Code

0 投票

和下面这段代码相同的ruby 怎么写呢?

public function makeRequest($url, $method, $postfields = NULL) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
        if ('POST' === $method) {
            curl_setopt($ch, CURLOPT_POST, 1);
            if (!empty($postfields)) {
                curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
            }
        }
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->_connectTimeOut);
        curl_setopt($ch, CURLOPT_TIMEOUT, $this->_timeOut);
        curl_setopt($ch, CURLOPT_USERAGENT, $this->_userAgent);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
    }

THK

用户头像 提问 2013年 12月18日 @ Miss Fortune 上等兵 (418 威望)
分享到:

1个回答

0 投票
 
最佳答案
  require 'uri'
  require 'net/http'
  require 'openssl'
  def makeRequest(url, method, postfields="", isHttps=false)
    httpHeader = {
	"Expect:"=>""
    }

    uri = URI(url)
    response = nil
    http = Net::HTTP.new(uri.host, uri.port)
    if isHttps
	http.use_ssl = true
	http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    end
    http.start()    
    response = http.send_request(method, uri.path, postfields, httpHeader) 

    ret_code = response.code;
    ret_str = response.body;
    return ret_str;
  end
用户头像 回复 2013年 12月18日 @ Vi 上等兵 (121 威望)
选中 2013年 9月7日 @Miss Fortune
提一个问题:

相关问题

0 投票
1 回复 35 阅读
用户头像 提问 2012年 12月1日 @ Nidalee 上等兵 (346 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2013年 12月20日 @ Rider 上等兵 (281 威望)
0 投票
1 回复 6 阅读
用户头像 提问 2014年 5月14日 @ Annie 上等兵 (299 威望)
+2 投票
1 回复 59 阅读
用户头像 提问 2013年 1月15日 @ 匿名用户
0 投票
1 回复 54 阅读
用户头像 提问 2012年 12月1日 @ Talon 上等兵 (294 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...