问题标签 [net-http]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
745 浏览

ruby - 我可以在发送之前将完整的 Ruby Net::HTTP 请求作为字符串引用吗?

Net::HTTP显然,我在 Ruby 1.9.2p290 中使用来处理一些网络调用。

我现在需要查看发送到服务器的完整请求(作为一个符合 HTTP 1.0/1.1 的长大字符串。

换句话说,我想Net::HTTP处理生成符合 HTTP 标准的请求+正文的繁重工作,但我想使用自定义传递机制发送字符串。

Net::HTTPRequest这里似乎没有任何有用的方法——我是否需要降低堆栈并劫持一些东西?

有谁知道一个好的库,也许除了 Net::HTTP 之外,可以提供帮助?

编辑:我也想以另一种方式做同样的事情(将字符串响应转换为Net::HTTP::*- 尽管似乎我可以Net::HTTPResponse自己实例化?

0 投票
2 回答
1092 浏览

ruby - 使用 net-http-digest_auth 的未知算法 MD5

我正在尝试对服务器进行一些摘要授权,然后使用 nokogiri 解析生成的 HTML。我正在使用 net-http-digest_auth gem (https://github.com/drbrain/net-http-digest_auth) 进行 url 连接。一切都很好,直到我启动了 digest_auth 代码(第 20 行);它抛出一个“未知算法“MD5”错误'..

来自控制台的完整错误消息: ~/.rvm/gems/ruby-1.9.3-p194@rails32/gems/net-http-digest_auth-1.2.1/lib/net/http/digest_auth.rb:105:in 'auth_header': unknown algorithm ""MD5"" (Net::HTTP::DigestAuth::Error) from ./server_connection.rb:20:in '<main>'

第 20 行是 auth 行: auth = digest_auth.auth_header uri, res['www-authenticate'], 'GET'

这是我的完整代码(几乎完全逐字逐句地来自 github 链接上使用的示例代码):

通过 Chrome 的开发工具更新了这个问题以包含请求标头:

0 投票
1 回答
187 浏览

ruby-on-rails - 导轨中的链接检查器

我将以下内容存储在 rake 任务中。基本上,如果来自 url 的响应代码不是 200,我需要将“已发布”属性从 1 更新为 0。当我运行此命令时,我得到:undefined method 'request_uri' for #<URI::Generic:0x00000102136408 URL:url>

0 投票
2 回答
1806 浏览

ruby-on-rails - Ruby on Rails net/http 使用 '\r\n' 发布

我需要将 Rails 中的一些数据发布到外部 ASP。

我的 curl 命令正在运行:

如何使用 net/http 执行此操作?

保持参数之间的 '\r\n' 很重要。

到目前为止我的编码:

如何设置参数?

我试过这样的事情:

但它不起作用。我需要对其进行编码,但如何编码?

我尝试使用 '\r\n': %0D%0A 的 URL 编码版本,但它不起作用。有没有办法像 curl 一样将它作为二进制发送?

谢谢。

编辑:感谢您的回答,我找到了解决方案:

set_form_data a) 编码和 b) 添加“&”我不需要。直接设置身体是解决方案。

0 投票
1 回答
3148 浏览

ruby - Ruby 异步网络::HTTP?

是否Net::HTTP支持异步语法?

我正在寻找类似下面代码的东西。

Net::HTTP在收到来自服务器的响应(在这种情况下errornil)或遇到连接到服务器的错误(在这种情况下response是)之后,该块将在主线程上调用nil

以下问题提供了答案,但我正在寻找基于块的解决方案。

0 投票
1 回答
239 浏览

ruby - 如何找出 Net::HTTP 请求绑定的 IP 和端口?

我正在编写一个用于生成网络流量的应用程序,我想包括请求者的 IP 地址和端口号。我可以从 Net::HTTP 获得这些信息吗,或者是否有另一个我可以使用的包含这些信息的库。我只需要能够发出 http 请求并处理响应对象。

谢谢!

0 投票
1 回答
659 浏览

ruby - 如何从自动编码参数中停止 Net::HTTP.post_form

我正在尝试使用带有 minitest 和 Net:HTTP 的 ruby​​ 测试 Web 服务的功能。

这段代码

将转义我试图作为参数发送到服务器的 xml。有没有办法不转义地发送它?(我无法更改服务器端代码。)

这是服务器接收到的参数

我的 test_helper.rb 非常基础

有没有人对为什么会发生这种情况以及我能做些什么有任何想法?

0 投票
1 回答
928 浏览

ruby-on-rails - 在 Rails 中允许“坏”网址

我有一个简单的脚本来检查错误的 url:

我怎样才能允许格式不正确的网址,例如:hkbfksrhf.google.com 以不使脚本崩溃并出现以下错误:

getaddrinfo:提供节点名或服务名,或未知

我只想让任务运行到最后,并打印任何/所有不是 200 和 301 http 响应的错误。

谢谢!

0 投票
3 回答
41783 浏览

ruby - 检查 Ruby HTTP 响应是否成功

如何正确检查来自 Net::HTTP::Get 的响应(例如)是否“成功”(即 2xx 返回码)?可悲的是,文档似乎对这个简单的问题保持沉默。

我有:

经过一堆谷歌搜索和近乎随机的打字后,我终于确定这是可行的:

这实际上是规范的方法吗?

0 投票
2 回答
4460 浏览

ruby - Ruby Mechanize、Nokogiri 和 Net::HTTP

我正在使用 Net::HTTP 处理 HTTP 请求并得到响应:

如果我必须使用 Nokogiri gem 来解析这个 HTML 响应,我会这样做:

但如果我想使用 Mechanize gem,我需要这样做:

我是否可以使用 Net::Http 获取 HTML 响应,然后使用 Mechanize gem 将其转换为 Mechanize 对象而不是使用 agent.get()


编辑:

绕过该agent.get()方法的原因是因为我试图用来EventMachine::Iterator发出并发EM-HTTP请求。

但它不起作用。我收到一个错误:

当我使用该parse方法时,Net::HTTP它工作正常,我得到了 Mechanize 对象:

parse在使用 em-http 时是否为该方法传递了错误的参数?