Rails发起post请求

Ruby语言的网络编程 Ruby是一种由日本人松本行弘于1995年开发的动态、通用的编程语言。它的设计理念是使编程变得简单和愉快,尤其注重程序的可读性。动态类型:不需要在变量声明时指定类型。面向对象:几乎所有的数据都是对象,包括基本数据类型。灵活:Ruby允许开发者以多种方式实现功能。由于这些特性,Ruby在Web开发、系统管理和网络编程等领域广受欢迎。 阅读详情

不带header的请求

注意万恶的服务器检测User-Agent,之前遇到过,带上User-Agent正常,否则403

uri = URI.parse(url)
data = {name:xx, email:yy}
res = Net::HTTP.post_form(uri, data)


带header的请求

uri = URI(url)
    begin
      request = Net::HTTP::Post.new(uri.path)
      request['AUTHENTICATION_TOKEN'] = 'xxxxxx'
      data = {name:xx, email:yy}
      request.set_form_data(data)
      res = Net::HTTP.start(uri.host, uri.port) do |http|
        http.request(request)
      end
      puts res.body
    rescue
      puts '通信失败'
    end


https

uri = URI(url)
http = Net::HTTP.new(uri.host, uri.port)
if uri.scheme == 'https'
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  http.use_ssl = true
end
begin
  request = Net::HTTP::Post.new(uri.request_uri)
  request['TOEKN'] = 'XXX'
  request.set_form_data(data)
  res = http.request(request)
  puts res.body
rescue
  puts '通信失败'
end

uri = URI(url)
begin
  Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    request = Net::HTTP::Get.new uri.request_uri
    response = http.request request
    puts "#{response.body.inspect}"
   end
 rescue
   puts '通信失败'
 end


完整的post方法:

def post(url, params)
      uri = URI.parse(url)
      http = Net::HTTP.new(uri.host, uri.port)
      if uri.scheme == 'https'
        http.verify_mode = OpenSSL::SSL::VERIFY_NONE
        http.use_ssl = true
      end
      begin
        request = Net::HTTP::Post.new(uri.request_uri)
        request['Content-Type'] = 'application/json;charset=utf-8'
        request['User-Agent'] = 'Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0'
        request['X-ACL-TOKEN'] = 'xxx_token'
        #request.set_form_data(params)
        request.body = params.to_json
        response = http.start { |http| http.request(request) }
        puts response.body.inspect
        return JSON.parse response.body
      rescue =>err
        return nil
      end
    end

完整的get方法:

def get(url, params)
      uri = URI.parse(url)
      uri.query = URI.encode_www_form(params)
      http = Net::HTTP.new uri.host, uri.port
      if uri.scheme == 'https'
        http.verify_mode = OpenSSL::SSL::VERIFY_NONE
        http.use_ssl = true
      end
      begin
        request = Net::HTTP::Get.new uri.request_uri
        request['Content-Type'] = 'application/json;charset=utf-8'
        request['User-Agent'] = 'Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0'
        request['X-ACL-TOKEN'] =  'xxx_token'
        response = http.start { |http| http.request request }
        puts response.body.inspect
        return JSON.parse response.body
      rescue =>err
        return nil
      end
    end













Rails Ranger:JavaScript调用Rails API的协议适配层 Rails API与纯JavaScript前端之间存在天然协议鸿沟,核心在于CSRF令牌管理、JSON请求体结构不匹配及错误响应格式碎片化。这类问题本质是Web安全机制(如CSRF防护)与现代前端工程实践之间的兼容性挑战。Rails Ranger通过自动注入X-CSRF-Token头、智能封装请求体(如wrap: true)、统一解析errors.full_messages等标准化策略,将Rails后端的Ruby风格契约翻译为前端可直觉消费的接口。它不替代Axios或Fetch,而是作为轻量级协议翻译层嵌入 阅读详情

相关推荐

Node.js与Rails框架选型实战:基于请求生命周期与团队能力的决策模型

Web应用后端框架选型本质上是I/O模型、并发范式与工程效能的系统性权衡。Node.js依托事件循环与非阻塞I/O,在高并发、低延迟、实时交互场景中具备天然优势;Rails则凭借约定优于配置与成熟ORM,在业务逻辑复杂、交付周期紧张的MVP阶段显著降低认知负荷。其技术价值不仅体现于QPS或内存占用等静态指标,更在于对数据库连接池管理、N+1查询抑制、事务边界定义、微服务拆解成本等真实工程挑战的应对能力。典型应用场景包括实时协作系统、IoT设备接入网关、高吞吐API中台,以及需要快速验证商业模式的SaaS后台

weixin_30614109的博客 442

ruby on rails 发送http或https post请求方法

引入所需文件 # 发送https请求需要的文件 require 'uri' require 'net/http' require 'net/https' 自定义发送请求方法 # url参数为发送地址完整路径 toSend参数为json字符串 def send_post(url,toSend) uri = URI(url) http = Net::HTTP.new(uri....

u013675978的博客 1711

从入门到实战:rkhunter(Rootkit猎手)在Linux服务器安全运维中的部署与自动化监控

本文详细介绍了rkhunter(Rootkit猎手)在Linux服务器安全运维中的部署与自动化监控方法。从Rootkit的危害性入手,讲解了rkhunter的安装、配置及实战应用,包括如何建立基准、优化定时任务方案以及智能告警处理。通过多级过滤脚本和系统级联动,帮助运维人员高效识别和应对Rootkit威胁,提升服务器安全性。

weixin_28715953的博客 240

如何在Rails中执行Get/Post/Put请求

require 'open-uri' require 'json' require 'net/http' class CoupleController < ApplicationController skip_before_filter :verify_authenticity_token, :only => [:raw_data_put] def raw_d...

weixin_30512043的博客 329

Proxmox VE网络配置踩坑实录:从Web界面无法访问到完美修复的全过程

本文详细记录了Proxmox VE服务器Web界面无法访问的完整排查与修复过程。作者从基础网络连通性测试入手,逐步排查了服务状态、SSL证书、端口监听、防火墙规则及网关配置,最终定位并解决了问题。文章提供了系统性的故障排查思路和实用的修复命令,对管理Proxmox VE网络具有重要参考价值。

weixin_29231221的博客 889

DSP TMS320C6657中FFT函数的调用与具体使用方法

首先明确一点,C6678中FFT的函数形式为: N : length of FFT in complex samples ptr_x : pointer to complex data input ptr_w : pointer to complex twiddle factor ptr_y : pointer to complex output data brev : pointer to bit reverse table containing 64 entries n_min : should be

Kayboy的博客 3012

[ruby on rails]Net::HTTP使用

一,二不支持请求头设置(header取ruby默认值),只能用于基本的请求,不支持持久连接,如果您执行许多HTTP请求,则不推荐它们; 三,四可以设置请求头; NET::HTTP不能处理重定向和404 ;不支持会话保持 一、 基本GET请求 require 'net/http' uri = URI('http://httpbin.org/get') res = Net::HTTP.get_response(uri) res.code => '200' res.body => body s..

深度的博客 479

从零搭建YOLOv2硬件加速器:基于PYNQ-Z2的Vivado HLS与Jupyter Notebook实战

本文详细介绍了如何从零搭建YOLOv2硬件加速器,基于PYNQ-Z2开发板,结合Vivado HLS与Jupyter Notebook实现高效目标检测。通过硬件加速,YOLOv2推理速度提升8倍,功耗降低80%。文章涵盖硬件准备、Vivado HLS工程配置、IP核集成、PYNQ部署及常见问题解决,为开发者提供完整实战指南。

weixin_29188997的博客 1008

如何在ruby中用http 发送get,post请求

Ruby发送http协议(get、post、https服务器验证、https双向验证) 1. 建立HTTP连接(通过GET方式发送请求参数)      require "open-uri"      #如果有GET请求参数直接写在URI地址中       uri = ' http://uri'      html_response = nil      open(uri

afengxg123的专栏 1万+

伪距单点定位推导+DOP值分析(附matlab仿真代码)

伪距单点定位公式推导、DOP值分析与matlab仿真分析

shannanshouyin的博客 2513

电池管理系统(BMS)系列—状态估计之SOH

BMS系列文章,介绍了SOH估计

zxx52113140的博客 1846

json请求 post vue_vuejs - 发送大量的请求时,使用 post + JSON.stringify(xx)的形式

vuejs - 发送大量的请求时,使用 post + JSON.stringify(xx)的形式2017-11-26 14:13访问量: 1520分类:技术如题,我们从vuejs向接口发起请求时, 这样:this.$http.post(this.$configs.api + 'dish_orders/native_add_dish_order', {dishes: JSON.stringify(t...

weixin_39918248的博客 970

液态神经网络(Liquid Neural Networks)从线虫大脑到下一代 AI

液态神经网络(Liquid Neural Networks,LNN)是一类具有动态内部结构的神经网络,其灵感来源于生物神经系统,尤其是大脑中神经元如何以复杂、非线性的方式响应外部刺激。与传统神经网络不同,液态神经网络的每个神经元在处理输入时,不再是静态线性或非线性变换,而是基于一个微分方程模型进行响应。这种建模方式使神经元的行为具有时间连续性和动态适应性。换句话说,它不仅“记住”过去的信息,还能根据当前环境实时调整自身的动态特性,这对于感知、决策、预测等任务都非常关键。

hello.reader 7415

ruby on rails 局部刷新

假设现在有一组ruby on rails文件,有example_controller.rb,在view中有example文件,里边有一个index.html.erb,有一个_html_code.html.erb,里边是需要刷新的html代码 index.html.erb中的代码是:..... <div id='refresh-part'> <%= render :partial => 'h

lovenkcs的专栏 2161

Python 爬虫高级实战:HTTPS 证书忽略与代理抓包配置

本文深入解析了HTTPS加密与SSL证书校验机制在爬虫开发中的核心问题及解决方案。文章首先剖析了HTTPS协议架构和证书校验流程,指出爬虫开发中常见的证书异常场景及其负面影响。随后详细介绍了Python主流请求库(requests、httpx、aiohttp)的证书忽略配置方法,包括同步/异步模式下的实现方案。针对代理环境,文章系统比较了HTTP、HTTPS、SOCKS5等代理类型的特性差异,并提供了完整的代理配置示例。特别对中间人抓包场景,阐述了Mitmproxy的工作原理和配置要点。最后提出了工程级爬虫

2503_91057718的博客 85

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Add User按钮的工作原理追踪

第11章的一个问题,在/users/new页面下点击"Add User"时,是如何跳转回index页面的? 在users_controller.rb中,发现有个create action,这里面的语句就是完成了跳转回index页面并提示添加成功,那么现在问题成为,为什么点击了Add User按钮,会执行到create action呢? 通过在页面上查看源代码发现:  这是A

401

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

rails中发送ajax请求

最近在写一个blog系统练练手,遇到一个一个问题,用户添加评论的时候想发送ajax请求,但是rails里的ajax和Python中的不太一样,Python中的ajax是用js,jquery实现的和rails不太一样,在此记录一下,研究了好久终于弄明白了一点 告诉框架我们要发送ajax请求 rails这个框架吧,ajax与后端结合的非常紧密。 当我们想发送一个ajax请求的时候,在模板生...

weixin_30568715的博客 100

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Puma 在 Rails 开发模式下运行:Loopback 请求与 Load Interlock 的完整解决方案

在 Rails 开发模式下使用 Puma 时,如果应用代码在请求处理过程中又向同一个 Rails 应用发起新的 HTTP 请求(即"loopback 请求"),会触发 Rails 的 Load Interlock(加载互锁)机制,导致新线程无法使用自动加载(autoloading)机制加载常量,从而引发死锁或启动异常。本文基于 Puma 官方文档 [docs/rails_dev_mode.md](

gitblog_00379的博客 76

MVC in Ruby on Rails

這張圖示中的執行步驟是:瀏覽器發出HTTP request請求給Rails路由(Routing)根據規則決定派往哪一個Controller的Action負責處理的Controller Action操作Model資料Model存取資料庫或資料處理Controller Action將得到的資料餵給View樣板回傳最後的HTML成品給瀏覽器其中,路由主要是根據HTTP Method方法(GET、POST

田攀的日志 2844

在 Rails 中集成 JavaScript:Import Maps、构建器与 Turbo 实战指南

本指南基于 Ruby on Rails 官方文档编写,系统讲解在 Rails 应用中集成 JavaScript 的完整方案,涵盖如何以 import maps 免去 Node.js/Yarn 构建步骤、如何选用 Bun/esbuild/Rollup/Webpack 等传统打包器,以及 Turbo(Turbo Drive、Turbo Frames、Turbo Streams)驱动的 HTML 快速渲

gitblog_00095的博客 212

Rails中使用flash总结

Rails中使用flash总结 九 30th, 2011 发表评论 | Trackback 这个flash与Adobe/Macromedia Flash没有任何关系。 用于在两个actions间传递临时数据,flash中存放的所有数据会在紧接着的下一个action调用后清除。 一般用于传递提示和错误消息。 使用示例: controller代码 class Po

dazhi_100的专栏 2724

gdpr_rails安全与合规深度剖析:CSRF防护、管理员鉴权与GDPR合规完整检查清单

**gdpr_rails**(PolicyManager)是一款专为 Rails 应用打造的 GDPR(通用数据保护条例)合规引擎,内置 CSRF 防护、管理员鉴权、隐私策略规则和数据可携权(Portability)导出能力。本文将从安全机制入手,带你一步步看懂它如何保护用户数据,并附上一份可直接套用的 GDPR 合规检查清单。 ## 一、为什么 Rails 项目需要 GDPR 合规工具 GD

gitblog_00469的博客 770

Ruby on Rails Action Cable 完全指南:用 WebSocket 为 Rails 应用构建实时功能

> 本指南围绕 Ruby on Rails 官方仓库中 [action_cable_overview.md](https://link.gitcode.com/i/3090a3fa84f150ce31abde113bf697ad) 一文的全部内容展开,讲解 Action Cable 的工作原理,以及如何借助 WebSocket 为 Rails 应用接入实时能力(聊天、在线状态、实时通知等)。读完本

gitblog_01146的博客 846

REST:Rails 1.2的意义,以及一个翻译接力的发起

    昨天,David H. Hansson在 www.rubyonrails.org 上发布了Rails 1.2 RC1。之前Rails的版本在1.1.6上停留了4个月,有人已经不耐烦地在讨论组上质问Rails 1.2为何拖了这么久。拖这么久当然是有原因的,Rails 1.2是一个重大的升级,可以说其核心思想发生了巨大的、根本性的变化,以至于著名的《敏捷Web开发》第二版,在临近脱稿之时,不得

孟岩 1万+

Rails 应用测试实践指南:从测试目录布局到系统测试的完整解析

本篇指南以 Ruby on Rails 官方测试指南为骨架,系统讲解在 Rails 项目中编写测试的完整方法论:测试环境与目录约定、`minitest` 与 Rails 自定义断言、`bin/rails test` 运行器的全部用法、fixtures 与事务回滚、模型/控制器/集成/系统测试、邮件与 Job 测试、Active Storage 与 Action Cable 测试,以及并行测试与 C

gitblog_00985的博客 927
上一篇: php读取和保存base64编码的图片内容
下一篇: linux常用命令
CSTO
博客等级 码龄17年 3粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值