gpt4 book ai didi

mysql - 我如何在 ruby​​ 中解析这个查询 url

转载 作者:行者123 更新时间:2023-11-29 12:46:17 24 4
gpt4 key购买 nike

这是我在curl中的查询命令,我可以得到我期望的结果

curl --data "action=search&user=wbt&project=Test&ltoken=&query=build:tables_tempkb status:Analyze" http://xxx.xxx.xxx:8088/review/api

但是,如果我尝试在 ruby​​ 中查询

url = "http://xxx.xxx.xxx.xxx:8088/review/api/?action=search&user=wbt&project=Test&ltoken=&query=build:tables_tempkb status:Analyze"
uri = URI(url)
res = Net::HTTP.post_form(uri, 'q' => 'ruby')

ruby 报告以下解析错误

bad URI(is not URI?): http://xxx.xxx.xxx.xxx:8088/review/api/?action=search&user=wbt&project=Test&ltoken=&query=build:tables_tempkb status:Analyze
["C:/Ruby200/lib/ruby/2.0.0/uri/common.rb:176:in `split'", "C:/Ruby200/lib/ruby/2.0.0/uri/common.rb:211:in `parse'", "C:/Ruby200/lib/ruby/2.0.0/uri/common.rb:747:in `parse'", "C:/Ruby200/lib/ruby/2.0.0/uri/common.rb:996:in `URI'"

你能让我知道我的 ruby​​ 脚本出了什么问题吗?

最佳答案

将空格转换为%20。这有效:

url = "http://xxx.xxx.xxx.xxx:8088/review/api/?action=search&user=wbt&project=Test&ltoken=&query=build:tables_tempkb%20status:Analyze"
uri = URI(url)

或者,使用 + 代替:

url = "http://xxx.xxx.xxx.xxx:8088/review/api/?action=search&user=wbt&project=Test&ltoken=&query=build:tables_tempkb+status:Analyze"
uri = URI(url)

两者都将在接收应用程序中被解码为空格。

参见Percent Encoding .

关于mysql - 我如何在 ruby​​ 中解析这个查询 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25374443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com