{"id":1390,"date":"2022-03-18T16:04:04","date_gmt":"2022-03-18T08:04:04","guid":{"rendered":"http:\/\/www.zyhcoding.club\/?p=1390"},"modified":"2022-03-19T17:27:46","modified_gmt":"2022-03-19T09:27:46","slug":"socket%e7%bc%96%e7%a8%8b","status":"publish","type":"post","link":"http:\/\/www.zyhcoding.club\/index.php\/2022\/03\/18\/socket%e7%bc%96%e7%a8%8b\/","title":{"rendered":"Socket\u7f16\u7a0b"},"content":{"rendered":"<h5>Socket\u5957\u63a5\u5b57<\/h5>\n<p>\u5957\u63a5\u5b57 Socket = <code>(IP\u5730\u5740\uff1a\u7aef\u53e3\u53f7)<\/code>\u3002\u5b83\u552f\u4e00\u5730\u6807\u8bc6\u7f51\u7edc\u4e2d\u5730\u4e00\u53f0\u4e3b\u673a\u548c\u5176\u4e0a\u7684\u4e00\u4e2a\u5e94\u7528\uff08\u8fdb\u7a0b\uff09\u3002\u5728\u7f51\u7edc\u4e2d\u901a\u8fc7IP\u5730\u5740\u6765\u6807\u8bc6\u548c\u533a\u522b\u4e0d\u540c\u5730\u4e3b\u673a\uff0c\u901a\u8fc7\u7aef\u53e3\u53f7\u6765\u6807\u8bc6\u548c\u533a\u5206\u4e00\u5957\u4e3b\u673a\u4e2d\u7684\u4e0d\u540c\u5e94\u7528\u8fdb\u7a0b\uff0c\u7aef\u53e3\u53f7\u62fc\u63a5\u5230IP\u5730\u5740\u5373\u53ef\u6784\u6210\u5957\u63a5\u5b57\u3002<\/p>\n<p>\u8981\u5b9e\u73b0Socket\u901a\u4fe1\uff0c\u6211\u4eec\u5fc5\u987b\u521b\u5efa\u4e00\u4e2a\u6570\u636e\u53d1\u9001\u8005\u548c\u4e00\u4e2a\u6570\u636e\u63a5\u6536\u8005\uff0c\u4e5f\u5c31\u662f\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u7aef\uff0c\u6211\u4eec\u9700\u8981\u63d0\u524d\u542f\u52a8\u670d\u52a1\u7aef\uff0c\u6765\u7b49\u5f85\u5ba2\u6237\u7aef\u7684\u8fde\u63a5\uff0c\u800c\u5ba2\u6237\u7aef\u53ea\u9700\u8981\u968f\u65f6\u542f\u52a8\u53bb\u8fde\u63a5\u670d\u52a1\u7aef\u5373\u53ef\uff01<\/p>\n<p>\u5957\u63a5\u5b57\u4f7f\u7528TCP\u63d0\u4f9b\u4e86\u4e24\u53f0\u8ba1\u7b97\u673a\u4e4b\u95f4\u7684\u901a\u4fe1\u673a\u5236\u3002 \u5ba2\u6237\u7aef\u7a0b\u5e8f\u521b\u5efa\u4e00\u4e2a\u5957\u63a5\u5b57\uff0c\u5e76\u5c1d\u8bd5\u8fde\u63a5\u670d\u52a1\u5668\u7684\u5957\u63a5\u5b57\u3002<br \/>\njava.net.Socket \u7c7b\u4ee3\u8868\u4e00\u4e2a\u5957\u63a5\u5b57\uff0c\u5e76\u4e14 java.net.ServerSocket \u7c7b\u4e3a\u670d\u52a1\u5668\u7a0b\u5e8f\u63d0\u4f9b\u4e86\u4e00\u79cd\u6765\u76d1\u542c\u5ba2\u6237\u7aef\uff0c\u5e76\u4e0e\u4ed6\u4eec\u5efa\u7acb\u8fde\u63a5\u7684\u673a\u5236\u3002<\/p>\n<p>\u670d\u52a1\u5668\u7aef\uff1a<\/p>\n<pre><code class=\"language-java\">import java.io.*;\nimport java.net.ServerSocket;\nimport java.net.Socket;\n\npublic class Server {\n    public  static void main(String[] args) {\n        try{\n            ServerSocket server = new ServerSocket(8085);\n            while (true) {\n                System.out.println(&quot;\u7b49\u5f85\u5ba2\u6237\u7aef\u8fde\u63a5...&quot;);\n                server.setSoTimeout(5000);\n                Socket socket = server.accept();\n                System.out.println(&quot;\u8fde\u63a5\u5ba2\u6237\u7aef\u6210\u529f\uff0cIP\u5730\u5740\u4e3a\uff1a&quot; + socket.getInetAddress().getHostAddress());\n                \/\/System.out.println(socket.getInetAddress());\n\n                System.out.println(&quot;\u8bfb\u53d6\u5ba2\u6237\u7aef\u6570\u636e\uff1a&quot;);\n\n                \/\/ \u6b64\u5957\u63a5\u5b57\u7684\u8f93\u5165\u6d41\uff0c\u5c31\u662f\u6240\u8fde\u63a5\u5ba2\u6237\u7aef\u7684\u8f93\u51fa\u6d41\uff0c\u90a3\u5c31\u76f8\u5f53\u4e8e\u662f\u4ece\u5ba2\u6237\u7aef\u8bfb\u53d6\u6570\u636e\n                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));\n                System.out.println(reader.readLine());\n\n                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));\n                writer.write(socket.getPort() + &quot; hey bro! accepted.\\n&quot;);\n                writer.flush();\n                socket.close();\n            }\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n}\n<\/code><\/pre>\n<p>\u5ba2\u6237\u7aef\uff1a<\/p>\n<pre><code class=\"language-java\">import java.io.*;\nimport java.net.Socket;\n\npublic class Client {\n    public static void main(String[] args) {\n        try{\n            Socket client = new Socket(&quot;localhost&quot;, 8085);\n            System.out.println(&quot;\u6210\u529f\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff01&quot;);\n            System.out.println(&quot;\u8fde\u63a5\u5ba2\u6237\u7aef\u6210\u529f\uff0cIP\u5730\u5740\u4e3a\uff1a&quot; + client.getInetAddress().getHostAddress());\n\n            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));\n            writer.write(&quot;hey bro! nb\uff01\\n&quot;);\n\n            \/\/ \u6e05\u7f13\u5b58\uff0c\u628a\u6570\u636e\u76f4\u63a5\u53d1\u9001\u7ed9\u670d\u52a1\u5668\n            writer.flush();\n\n            BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));\n            \/\/System.out.println(reader.read());\n            System.out.println(reader.readLine());\n            client.setKeepAlive(true);\n        }catch (IOException e) {\n            System.out.println(&quot;\u8fde\u63a5\u670d\u52a1\u5668\u5931\u8d25\uff01&quot;);\n            e.printStackTrace();\n        }finally {\n            System.out.println(&quot;\u4e0e\u670d\u52a1\u5668\u8fde\u63a5\u65ad\u5f00\uff01&quot;);\n        }\n    }\n}\n<\/code><\/pre>\n<p>SocketServer\u7c7b\u5e38\u7528\u7684\u65b9\u6cd5<\/p>\n<pre><code class=\"language-java\">\/\/ \u56db\u4e2a\u6784\u9020\u65b9\u6cd5\n\/\/ \u521b\u5efa\u975e\u7ed1\u5b9a\u670d\u52a1\u5668\u5957\u63a5\u5b57\npublic ServerSocket() throws IOException\n\n\/\/ \u521b\u5efa\u7ed1\u5b9a\u5230\u7279\u5b9a\u7aef\u53e3\u7684\u5957\u63a5\u5b57\npublic SocketServer(int port) throws IOException\n\n\/\/ \u5229\u7528\u6307\u5b9a\u7684 backlog \u521b\u5efa\u670d\u52a1\u5668\u5957\u63a5\u5b57\u5e76\u5c06\u5176\u7ed1\u5b9a\u5230\u6307\u5b9a\u7684\u672c\u5730\u7aef\u53e3\u53f7\u3002\npublic SocketServer(int port\uff0cint backlog) throws IOException\n\n\/\/ \u8fd4\u56de\u6b64\u5957\u63a5\u5b57\u5728\u5176\u4e0a\u4fa6\u542c\u7684\u7aef\u53e3\npublic int getLocalPort()\n\n\/\/ \u4fa6\u542c\u5e76\u63a5\u6536\u5230\u6b64\u5957\u63a5\u5b57\u7684\u8fde\u63a5\npublic Socket accept() throws IOException\n\n\/\/ \u8bbe\u7f6e\u8d85\u65f6\u65f6\u95f4\uff0c\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\uff0c\u8d85\u8fc7\u6b64\u65f6\u95f4\u8fd8\u672a\u6210\u529f\u7b49\u5f85\u54cd\u5e94\u65f6\u5219\u629b\u51fa\u5f02\u5e38\npublic void setSoTimeout(int timeout);<\/code><\/pre>\n<p>java.net.Socket \u7c7b\u4ee3\u8868\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u90fd\u7528\u6765\u4e92\u76f8\u6c9f\u901a\u7684\u5957\u63a5\u5b57\u3002\u5ba2\u6237\u7aef\u8981\u83b7\u53d6\u4e00\u4e2a Socket \u5bf9\u8c61\u901a\u8fc7\u5b9e\u4f8b\u5316 \uff0c\u800c \u670d\u52a1\u5668\u83b7\u5f97\u4e00\u4e2a Socket \u5bf9\u8c61\u5219\u901a\u8fc7 accept() \u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u3002<\/p>\n<p>Socket\u7c7b\u7684\u65b9\u6cd5\uff1a<\/p>\n<pre><code class=\"language-java\">\/\/ Socket\u7684\u6784\u9020\u65b9\u6cd5\npublic Socket()\n\n\/\/ \u521b\u5efa\u4e00\u4e2a\u6d41\u5957\u63a5\u5b57\u5e76\u5c06\u5176\u8fde\u63a5\u5230\u6307\u5b9a\u4e3b\u673a\u4e0a\u7684\u6307\u5b9a\u7aef\u53e3\u53f7\u3002\npublic Socket(String host, int port) throws UnknownHostException, IOException\n\npublic Socket(InetAddress host, int port) throws IOException\n\npublic Socket(String host, int port, InetAddress localAddress, int localPort) throws IOException\n\npublic Socket(InetAddress host, int port, InetAddress localAddress, int LocalPort) throws IOException\n\n\/\/ \u5c06\u6b64\u5957\u63a5\u5b57\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff0c\u5e76\u6307\u5b9a\u4e00\u4e2a\u8d85\u65f6\u503c\u3002\npublic void connect(SocketAddress host, int timeout) throws IOException\n\n\/\/ \u8fd4\u56de\u6b64\u5957\u63a5\u5b57\u8fde\u63a5\u5230\u7684\u8fdc\u7a0b\u7aef\u53e3\u3002\npublic int getPort()\n\n\/\/ \u8fd4\u56de\u5957\u63a5\u5b57\u8fde\u63a5\u7684\u5730\u5740\npublic InetAddress getInetAddress()\n\npublic int getLocalPort()\n\n\/\/ \u8fd4\u56de\u6b64\u5957\u63a5\u5b57\u7684\u8f93\u5165\u6d41\npublic InputStream getInputStream() throws IOException\n\n\/\/ \u5173\u95ed\u5957\u63a5\u5b57\npublic void close() throws IOException\n\nsocket.shutdownOutput();  \/\/\u5173\u95ed\u8f93\u51fa\u65b9\u5411\u7684\u6d41\nsocket.shutdownInput();   \/\/\u5173\u95ed\u8f93\u5165\u65b9\u5411\u7684\u6d41\n\nsocket..setKeepAlive(true);\n\/* \u5224\u65ad\u6240\u8fde\u63a5\u7684\u5bf9\u65b9\u662f\u5426\u8fd8\u6b63\u5e38\uff0c\u5982\u679c\u5f88\u957f\u65f6\u95f4\u53cc\u65b9\u90fd\u6ca1\u6709\u53d1\u751f\u4ea4\u4e92\u65f6\uff0c\u6211\u4eec\u4f1a\u53d1\u9001\u4e00\u4e2aack\u63a2\u6d4b\u5305\u53d1\u9001\u5230\u5bf9\u65b9\uff0c\u63a2\u6d4bTCP\/IP\u8fde\u63a5\u662f\u5426\u8fd8\u5b58\u5728 *\/<\/code><\/pre>\n<p>InetAddress\u7c7b\u8868\u793aIP\u5730\u5740\u3002\u8be5\u7c7b\u6709\u4ee5\u4e0b\u5e38\u7528\u65b9\u6cd5\uff1a<\/p>\n<pre><code class=\"language-java\">\/\/ \u8fd4\u56de\u672c\u5730\u4e3b\u673a\uff0c\u9759\u6001\u65b9\u6cd5\nstatic InetAddress getLocalHost();\n\n\/\/ \u5728\u7ed9\u5b9a\u539f\u59cb IP \u5730\u5740\u7684\u60c5\u51b5\u4e0b\uff0c\u8fd4\u56de InetAddress \u5bf9\u8c61\u3002\nstatic InetAddress getByAddress(byte[] addr)\n\/\/ \u5728\u7ed9\u5b9a\u4e3b\u673a\u540d\u7684\u60c5\u51b5\u4e0b\u786e\u5b9a\u4e3b\u673a\u7684 IP \u5730\u5740\u3002\nstatic InetAddress getByName(String host)\n\n\/\/ \u5c06ip\u5730\u5740\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\npublic String toString()\n\n\/\/ \u83b7\u53d6\u6b64IP\u5730\u5740\u7684\u7528\u6237\u540d\nString getHostName();\n\n\/\/ \u8fd4\u56deIP\u5730\u5740\nString getHostAddress();\n<\/code><\/pre>\n<h5>\u7f13\u51b2\u533a<\/h5>\n<p>\u5efa\u7acbTCP\/IP\u8fde\u63a5\u7684\u53cc\u53d1\u90fd\u4f1a\u8bbe\u7f6e\u4e00\u4e2a\u53d1\u9001\u7f13\u51b2\u533a\u548c\u63a5\u6536\u7f13\u51b2\u533a\uff0c\u6b64\u7f13\u51b2\u53bb\u5927\u5c0f\u4e3a8192KB\uff0c\u53ef\u4ee5\u624b\u52a8\u8bbe\u7f6e\u3002\u6240\u4ee5\u60f3\u8981\u7acb\u523b\u628a\u6570\u636e\u53d1\u9001\u7ed9\u5bf9\u65b9\u65f6\uff0c\u6700\u597d\u5728\u53d1\u9001\u5b8c\u4e4b\u540e\u6267\u884csocket.flush()\u8bed\u53e5\uff0c\u628a\u7f13\u51b2\u533a\u5185\u7684\u5185\u5bb9\u5168\u90fd\u53d1\u9001\u4e86\u3002<\/p>\n<pre><code class=\"language-java\">socket.setReceiveBufferSize(25536);    \/\/\u8bbe\u7f6e\u63a5\u6536\u7f13\u51b2\u533a\nsocket.setSendBufferSize(25535);       \/\/\u8bbe\u7f6e\u53d1\u9001\u7f13\u51b2\u533a<\/code><\/pre>\n<p>\uff08\u56fe\u76d7\uff0c\u4fb5\u5220\uff09<br \/>\n<img src=\"http:\/\/www.zyhcoding.club:80\/wp-content\/uploads\/2022\/03\/socket\u7f13\u51b2\u533a.png\" alt=\"\" \/><\/p>\n<h5>\u4f7f\u7528Socket\u4f20\u8f93\u6587\u4ef6<\/h5>\n<p>\u4efb\u4f55\u6587\u4ef6\u90fd\u53ef\u4ee5\u4ee5\u5b57\u8282\u6d41\u7684\u65b9\u5f0f\u8fdb\u884c\u8bfb\u5199\uff0c\u56e0\u4e3a\u6570\u636e\u90fd\u662f\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\u7684\u3002<\/p>\n<p>\u670d\u52a1\u5668\u7aef\uff1a<\/p>\n<pre><code class=\"language-java\">import java.io.*;\nimport java.net.ServerSocket;\nimport java.net.Socket;\n\npublic class Server {\n    public  static void main(String[] args) {\n        try{\n            ServerSocket server = new ServerSocket(8085);\n\n            ;\n\n            while (true) {\n                System.out.println(&quot;\u7b49\u5f85\u5ba2\u6237\u7aef\u8fde\u63a5...&quot;);\n                \/\/server.setSoTimeout(5000);\n                Socket socket = server.accept();\n                System.out.println(&quot;\u8fde\u63a5\u5ba2\u6237\u7aef\u6210\u529f\uff0cIP\u5730\u5740\u4e3a\uff1a&quot; + socket.getInetAddress().getHostAddress());\n\n                System.out.println(&quot;\u8bfb\u53d6\u5ba2\u6237\u7aef\u6570\u636e...&quot;);\n\n                \/\/ \u65b0\u5efa\u4e00\u4e2a\u6587\u4ef6\u8f93\u51fa\u6d41\uff0c\u7528\u6765\u5199\u5165\u6307\u5b9a\u7684\u6587\u4ef6\n                FileOutputStream stream = new FileOutputStream(args[0]);\n\n                \/\/ \u8f93\u5165\u6d41\uff0c\u8bfb\u53d6\u4ece\u5ba2\u6237\u7aef\u53d1\u9001\u6765\u7684\u6570\u636e\n                InputStream inputStream = socket.getInputStream();\n                byte[] bytes = new byte[1024];\n                int i;\n                while ( (i=inputStream.read(bytes))!=-1 ) {\n                    stream.write(bytes, 0, i);\n                    \/\/stream.write(55);\n                }\n\n                inputStream.close();\n                stream.close();\n\n                socket.close();\n            }\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n}\n<\/code><\/pre>\n<p>\u670d\u52a1\u5668\u7aef\u7a0b\u5e8f\u9700\u8981\u4e24\u4e2a\u53c2\u6570\uff1a\u7aef\u53e3\u53f7\uff0c\u9700\u8981\u5199\u5165\u7684\u6587\u4ef6\u540d\u79f0<\/p>\n<p>\u6ce8\u610f\u5bf9\u6587\u4ef6\u7684\u64cd\u4f5c\u5b8c\u6210\u4e4b\u540e\u4e00\u5b9a\u8981\u628a\u6d41\u5173\u95ed\u6389\uff0c\u5426\u5219\u4f1a\u635f\u574f\u6587\u4ef6\u3002<\/p>\n<p>\u5ba2\u6237\u7aef\uff1a<\/p>\n<pre><code class=\"language-java\">import java.io.*;\nimport java.net.Socket;\n\npublic class Client {\n    public static void main(String[] args) {\n        try{\n            Socket client = new Socket(args[0], args[1]);\n            System.out.println(&quot;\u6210\u529f\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff01&quot;);\n            System.out.println(&quot;\u8fde\u63a5\u5ba2\u6237\u7aef\u6210\u529f\uff0cIP\u5730\u5740\u4e3a\uff1a&quot; + client.getInetAddress().getHostAddress());\n\n            \/\/ \u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u8bfb\u53d6\u5b57\u8282\u6d41\uff0c\u4ee5\u7b2c\u4e09\u4e2a\u53c2\u6570\u4e3a\u6587\u4ef6\u540d\n            FileInputStream fileInputStream = new FileInputStream(arge[2]);\n            \/\/ \u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u8f93\u51fa\u5b57\u8282\u6d41\uff0c\u8fd9\u91cc\u5199\u7684\u4e1c\u897f\u4f1a\u4f20\u8f93\u5230\u670d\u52a1\u5668\u7684\u8f93\u5165\u6d41\n            OutputStream stream = client.getOutputStream();\n            byte[] bytes = new byte[1024];\n            int i;\n            while ( ( i = fileInputStream.read(bytes)) != -1 ) {\n                \/\/ \u5199bytes\u6570\u7ec4\uff0c\u4ece0\u5f00\u59cb\u7684\u957f\u5ea6\u4e3ai\u7684\u5b57\u8282\u6d41\n                stream.write(bytes, 0, i);\n            }\n            stream.flush();\n            stream.close();\n            fileInputStream.close();\n\n            \/\/ \u6e05\u7f13\u5b58\uff0c\u628a\u6570\u636e\u76f4\u63a5\u53d1\u9001\u7ed9\u670d\u52a1\u5668\n            writer.flush();\n\n            client.setKeepAlive(true);\n        }catch (IOException e) {\n            System.out.println(&quot;\u8fde\u63a5\u670d\u52a1\u5668\u5931\u8d25\uff01&quot;);\n            e.printStackTrace();\n        }finally {\n            System.out.println(&quot;\u4e0e\u670d\u52a1\u5668\u8fde\u63a5\u65ad\u5f00\uff01&quot;);\n        }\n    }\n}\n<\/code><\/pre>\n<p>\u5ba2\u6237\u7aef\u7a0b\u5e8f\u7684\u8c03\u7528\u9700\u8981\u4e09\u4e2a\u53c2\u6570\uff1a\u670d\u52a1\u5668ip\u5730\u5740\uff0c\u7aef\u53e3\u53f7\uff0c\u8bfb\u53d6\u7684\u6587\u4ef6\u5730\u5740\u3002<\/p>\n<p>\u4e0a\u8ff0\u4e24\u4e2a\u7a0b\u5e8f\u4f1a\u5c06\u5ba2\u6237\u7aef\u7684\u4e00\u4e2a\u6587\u4ef6\u4f20\u8f93\u5230\u670d\u52a1\u5668\u7aef\u3002\u7a0b\u5e8f\u8c03\u7528\u547d\u4ee4\u5982\u4e0b<\/p>\n<pre><code class=\"language-java\">java Server 8085 H:\\xanadu.txt\njava Client 10.163.181.251 8085 C:\\Users\\28158\\Desktop\\xanadu.txt<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Socket\u5957\u63a5\u5b57 \u5957\u63a5\u5b57 Socket = (IP\u5730\u5740\uff1a\u7aef\u53e3\u53f7)\u3002\u5b83\u552f\u4e00\u5730\u6807\u8bc6\u7f51\u7edc\u4e2d\u5730\u4e00\u53f0\u4e3b\u673a\u548c\u5176 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[76],"tags":[],"_links":{"self":[{"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/posts\/1390"}],"collection":[{"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/comments?post=1390"}],"version-history":[{"count":14,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/posts\/1390\/revisions"}],"predecessor-version":[{"id":1405,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/posts\/1390\/revisions\/1405"}],"wp:attachment":[{"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/media?parent=1390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/categories?post=1390"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.zyhcoding.club\/index.php\/wp-json\/wp\/v2\/tags?post=1390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}