net-http 相关问题

Ruby的HTTP客户端API。 Net :: HTTP提供了一个丰富的库,可用于构建HTTP用户代理。

go net/http何时返回err(post请求)

我面临一个非常棘手的问题,我无法找到正确的答案。 让我们使用下面的示例代码作为参考。当我得到 400 或 40 时,“err”不会是 nil 值吗...

回答 1 投票 0

在 Ruby 中发出 HEAD 请求

我是 ruby 新手,有 python 背景 我想向 URL 发出头请求并检查一些信息,例如文件是否存在于服务器上以及时间戳、etag 等,我无法...

回答 3 投票 0

是/。和 / 一样吗?句号(.),因为 id 无法识别

我有两个路线处理程序 v1路由器。路径(“/{id}”)。方法(http.MethodGet)。处理程序(r.getter()) v1路由器。小路(”/”)。方法(http.MethodGet)。处理程序(r.searcher()) 当我森...

回答 1 投票 0

将 `Authorization Bearer` 哈希添加到 Net::HTTP post 请求 (Ruby)

如何使用 Net::HTTP 将授权承载添加到 POST 请求? 我只能在文档中找到“基本身份验证”的帮助。 req.basic_auth '用户', '通过' 来源:https://docs.ruby...

回答 2 投票 0

如何使用RSpec检查请求体

我有以下方法 def post_it(data_hash) uri = URI.parse("https://example.com/api") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true 请求 = Net::HTTP::Po...

回答 1 投票 0

Ruby 未定义方法“bytesize”#<Hash:0x2954fe8>

我有以下 Ruby 代码,用于沙盒模式下的跟踪网站: 需要“net/http” 需要“net/https” 需要“uri” xml = < 我有以下 Ruby 代码,用于沙盒模式下的跟踪网站: require "net/http" require "net/https" require "uri" xml = <<XML <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><data appname="dhl_entwicklerportal" language-code="de" password="Dhl_123!" request="get-status-for-public-user"><data piece-code="00340433836536550280"></data></data> XML uri = URI('https://cig.dhl.de/services/sandbox/rest/sendungsverfolgung') nhttp = Net::HTTP.new(uri.host, uri.port) nhttp.use_ssl=true nhttp.verify_mode=OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(uri) request.basic_auth 'xpackageWP', 'hidden' response = nhttp.start {|http| http.request(request, xml:xml) } puts response.body 我总是收到错误: d:/Ruby200/lib/ruby/2.0.0/net/http/generic_request.rb:179:in `send_request_with_body' undefined method `bytesize' for #<Hash:0x2954fe8> (NoMethodError) from d:/Ruby200/lib/ruby/2.0.0/net/http/generic_request.rb:130:in `exec' from d:/Ruby200/lib/ruby/2.0.0/net/http.rb:1404:in `block in transport_request' from d:/Ruby200/lib/ruby/2.0.0/net/http.rb:1403:in `catch' from d:/Ruby200/lib/ruby/2.0.0/net/http.rb:1403:in `transport_request' from d:/Ruby200/lib/ruby/2.0.0/net/http.rb:1376:in `request' from D:/Dropbox_5BHIF/Dropbox/TempDHL/Main.rb:17:in `block in <main>' from d:/Ruby200/lib/ruby/2.0.0/net/http.rb:852:in `start' from D:/Dropbox_5BHIF/Dropbox/TempDHL/Main.rb:16:in `<main>' 我非常努力地解决这个问题,但我想不出任何问题。 当我在浏览器中使用链接测试它,然后使用 ?xml= 时,它工作得很好,所以这似乎是我的 Ruby 代码的问题。 您正在以哈希形式发送帖子数据。您应该将其编码为字符串。 例如使用 URI::encode_www_form: request = Net::HTTP::Post.new(uri) ... response = nhttp.start do |http| post_data = URI.encode_www_form({xml: xml}) http.request(request, post_data) end 更新 如果您想要 GET 请求,请将查询字符串附加到 url。 post_data = URI.encode_www_form({xml: xml}) uri = URI('https://cig.dhl.de/services/sandbox/rest/sendungsverfolgung?' + post_data) ... response = nhttp.start do |http| http.request(request) end request 需要一个字符串作为其第二个参数,并在该字符串上调用 bytesize。你给它一个哈希值,它不会响应 bytesize。 使用 POST 而不是 GET 请求 xml = <<XML <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><data appname="dhl_entwicklerportal" language-code="de" password="Dhl_123!" request="get-status-for-public-user"><data piece-code="00340433836536550280"></data></data> XML uri = URI('https://cig.dhl.de/services/sandbox/rest/sendungsverfolgung') nhttp = Net::HTTP.new(uri.host, uri.port) nhttp.use_ssl=true nhttp.verify_mode=OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(uri) request.body = xml request.basic_auth 'xpackageWP', 'hidden' response = nhttp.start {|http| http.request(request) } 我用.to_s解决了,它返回200。 @client.job.create_or_update(job_name, job_xml.get_xml.to_s) 这是我当前使用的 Jenkins API 客户端: https://github.com/arangamani/jenkins_api_client 我在使用 rack/test 测试 POST/GET 请求时遇到了类似的问题。 在我的例子中,响应控制器没有使用 JSON 响应 GET 请求,而是使用哈希值响应。 似乎 POST 请求需要对正在发送的数据调用 .to_s,而 GET 请求则需要对正在接收的数据调用。不过也有道理。

回答 5 投票 0

Ruby: Net::HTTP 为什么我会收到此 POST 请求的 400?

我正在尝试 GPTZero 的 API。文档。 文档说我需要在标头中设置 api 密钥。我将其留为空白字符串,因为网站上说我“……可以在这里尝试 API……

回答 1 投票 0

如何在 Rails 项目中向 Trello API 发出 PUT 请求?

由于错误,以下代码无法按预期工作(即卡片未移动到所需的列 ID)。 需要“net/http” http = Net::HTTP.new('api.trello.com') 响应 = http。

回答 1 投票 0

如何使用 Sinatra 在 RSpec / VCR 中模拟远程服务器?

VCR Cucumber 文档显示了许多使用小型 Sinatra 应用程序来模拟远程服务器的示例,使用从 vcr_cucumber_helpers.rb 加载的名为 start_sinatra_app 的函数。 我想用一些...

回答 2 投票 0

如何使用Faraday gem检索response.URL?

我正在使用Faraday来检查断裂的链接,并且我想检索我正在查询的链接的response.URL,然而,我无法找到任何文档和例子来这样做。我能够...

回答 1 投票 0

Ruby Net :: HTTP通过创建请求传递标头

[也许我只是盲目的,但是许多关于在Net :: HTTP中传递标头的帖子遵循要求'net / http'的行uri = URI(“ http://www.ruby-lang.org”)req = Net :: HTTP :: Get.new(uri)req ['...

回答 1 投票 1

将文档上传到FSCrawler以便在Elasticsearch中建立索引的正确方法

我正在对Rails应用程序进行原型设计,以将文档上传到FSCrawler(运行REST接口),以整合到Elasticsearch索引中。以他们的例子为例:response =`curl -F“ ...

回答 1 投票 0

如何在没有Ruby的情况下使用SOAP

我正在使用Savon,它正在工作。我的WSDL是: []

回答 1 投票 0

如何从使用golang重定向的URL获取响应内容

我在邮递员中发出了一个http发布请求,并且工作正常,而且我导出了python代码,并且响应数据也很好。但是当我将相同的代码与golang语法一起使用时,我无法获得...

回答 1 投票 1

有没有一种方法可以检查golang请求中的无效查询参数?

我正在构建Golang DELETE REST端点。该请求需要一组查询参数,该参数可过滤要删除的对象。例如https://endpoint.blah.com/users?userId=7&age=24 As ...

回答 1 投票 0

如何更改URI对象的path属性?

我只想使用略有不同的URI来调用API。此代码段符合我的要求,但是我想知道是否有更有效的方法。需要'net / http'需要'json'#这些...

回答 1 投票 0

为什么Net :: HTTP在服务器返回503时返回500?

((希望用更好的信息代替这个问题。)我有三台服务器,我将它们称为Alice,Charlie和Harry(Harry是服务器的实际昵称,以免...

回答 1 投票 1

是否可以使用set_form方法在多部分请求中设置Content-type?

我需要使用net / http类中的方法“ set_form”将Content-type =“ application / pdf”设置为请求的参数,但是它始终向我显示Content-Type =“ application / octet-stream”。我已经...

回答 2 投票 1

Ruby OAuth2.0:客户端凭据类型具有不受支持的客户端身份验证方法

我正在使用OAuth2 gem,以进行client_credential身份验证。我的代码如下,要求'oauth2'client = OAuth2 :: Client.new(“ my_client_id”,“ my_client_secret”,:site =>“ my_site_url”,:...

回答 2 投票 0

自动获取请求的默认端口

我目前有以下代码:if protocol =='http'port = Net :: HTTP.http_default_port()endpoint = Net :: HTTP.new(host,port)else port = Net :: HTTP.https_default_port(...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.