gpt4 book ai didi

ruby - 为什么我不断从维基百科 API 收到此 "help"错误代码?

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:02 25 4
gpt4 key购买 nike

我正在尝试使用 WikiMedia's documented Random method 从维基百科获取随机页面.

Safari 获取页面没有问题:http://en.wikipedia.org/w/api.php?action=query&list=random&rnlimit=1&rnnamespace=0&format=json

但是当我这样做时,使用 Ruby HTTP/Net,我不断收到这个确切的错误页面:http://en.wikipedia.org/w/api.php (具有相同的“帮助”错误代码和空信息)。

url = URI.parse('http://en.wikipedia.org/w/api.php?action=query&list=random&rnlimit=1&rnnamespace=0&format=json')
req = Net::HTTP::Get.new(url.path, "User-Agent" => "ourbandiscalled")
res = Net::HTTP.start(url.host, url.port) {|http| http.request(req)}

我的代码有什么问题?

谢谢,

凯文

最佳答案

url.path 仅返回 "/w/api.php" 因此您在 GET 请求中丢失了 URL 中的查询字符串。您可以使用 url.request_uri 代替,例如

req = Net::HTTP::Get.new(url.request_uri, "User-Agent" => "ourbandiscalled")

查询字符串本身可作为 url.query 使用。总结:

irb(main):045:0> url.path
=> "/w/api.php"
irb(main):046:0> url.query
=> "action=query&list=random&rnlimit=1&rnnamespace=0&format=json"
irb(main):047:0> url.request_uri
=> "/w/api.php?action=query&list=random&rnlimit=1&rnnamespace=0&format=json"

关于ruby - 为什么我不断从维基百科 API 收到此 "help"错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031982/

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