pns 网址   pns 抓取的接口URL

定义一个方法进行数据的抓取,因为需要用到多次,所以会更方便

# 发起http post请求
def post_request options
  server_url = options[:server_url]
  body_in_hash = options[:body_in_hash]
  response = HTTParty.post server_url,
    :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'},
    :body => body_in_hash.to_json
  puts "== response: #{response}"
  result = response.body
  return result
end

方法的使用:

def get_result_for_pns name temp_result = post_request server_url: 'https://moonbeamgraph.test-pns-link.com/subgraphs/name/graphprotocol/pns',     body_in_hash: {       "operationName": "MyQuery",       "query": "query MyQuery {\n  domains(where: {name: \"#{name}\"}) {\n    labelhash\n    labelName\n    id\n    name\n    subdomains {\n      name\n      owner {\n        id\n      }\n    }\n    subdomainCount\n    owner {\n      id\n    }\n    parent {\n      id\n    }\n  }\n  sets(where: {domain_: {name: \"#{name}\"}}) {\n    id\n    keyHash\n    value\n  }\n  registrations(where: {labelName: \"#{name.sub(".dot", '')}\"}) {\n    expiryDate\n    events {\n      id\n      triggeredDate\n    }\n  }\n}\n",       "variables": nil     }   return temp_result end