golang解析IP到城市jsonRPC服務教程

2021-09-13 23:55:39 字數 2433 閱讀 9913

請求url:

請求方式:

引數:

引數名型別說明

ipurl-qurey-string

可選要查詢的ip位址,如果不傳這表示當前的ip

返回示例

,

"ip": "219.140.227.235"

}

json_rpc121.40.238.123(ip位址更快)api.turboes.com埠:3344
go官方提供了乙個rpc庫: net/rpc。包rpc提供了通過網路訪問乙個物件的方法的能力。伺服器需要註冊物件, 通過物件的型別名暴露這個服務。註冊後這個物件的輸出方法就可以遠端呼叫,這個庫封裝了底層傳輸的細節,包括序列化。伺服器可以註冊多個不同型別的物件,但是註冊相同型別的多個物件的時候回出錯。

)//返回值結構體

//需要滿足以上要求

type response struct

type ip2addr struct

//引數結構體

//需要滿足以上要求

type agrs struct

//json rpc 處理請求

//需要滿足以上要求

func (t *ip2addr) address(agr *agrs, res *response) error

func main()

//初始化jsonrpc

ip2addr := &ip2addr

//註冊

rpc.register(ip2addr)

//繫結埠

address := ":3344"

tcpaddr, err := net.resolvetcpaddr("tcp", address)

checkerror(err)

listener, err := net.listentcp("tcp", tcpaddr)

checkerror(err)

log.println("json rpc is listening",tcpaddr)

for

jsonrpc.serveconn(conn)

}}func checkerror(err error)

}

class jsonrpc

}public function call($method, $params)

$err = fwrite($this->conn, json_encode(array(

'method' => $method,

'params' => array($params),

'id' => 0,

)) . "\n");

if ($err === false)

stream_set_timeout($this->conn, 0, 3000);

$line = fgets($this->conn);

fclose($this->conn);

if ($line === false)

$temp = json_decode($line);

$obj->code = $temp->error == null ? 1 : 0;

$obj->data = $temp->result;

return $obj;

}}function json_rpc_ip_address($ipstring)

package main

import (

"fmt"

"log"

"net/rpc/jsonrpc"

)type response struct

type agrs struct

func main()

// synchronous call

var res response

err = client.call("ip2addr.address", agrs, &res)

if err != nil

fmt.println(res)

}

歡迎pr/star golang-captcha

golang 解析csv檔案到struct

2019獨角獸企業重金招聘python工程師標準 預設情況下,csv檔案的首行會被當作header處理。file.csv hosname,ip redis,172.17.0.2 mariadb,172.17.0.3 go type info struct struct slice infos inf...

js實現根據IP定位使用者所在城市資訊

即可返回當前ip所在的省市資訊。本地js呼叫 var myprovince remote ip info province var mycity remote ip info city var mydistrict remote ip info district function html 為 您所...

本地網域名稱解析到指定IP教程

很多時候看這影院www.comethat.com速度很慢很慢因為加了cdn的原因,或者是我們想讓網域名稱訪問我們自己電腦上搭建的環境裡的程式,所以我們需要將網域名稱解析到指定的ip。這個時候,我們只需要修改我們本地的host檔案,就可以實現在訪問網域名稱的時候,直接使得網域名稱解析到指定ip。1.h...