@@ -17,9 +17,8 @@ msgstr ""
1717"Generated-By : Babel 2.17.0\n "
1818
1919#: ../../library/xmlrpc.client.rst:2
20- #, fuzzy
2120msgid ":mod:`!xmlrpc.client` --- XML-RPC client access"
22- msgstr ":mod:`xmlrpc.client` --- XML-RPC 클라이언트 액세스"
21+ msgstr ":mod:`! xmlrpc.client` --- XML-RPC 클라이언트 액세스"
2322
2423#: ../../library/xmlrpc.client.rst:10
2524msgid "**Source code:** :source:`Lib/xmlrpc/client.py`"
@@ -86,7 +85,6 @@ msgstr ""
8685"UTF-8입니다. 선택적 네 번째 인자는 디버깅 플래그입니다."
8786
8887#: ../../library/xmlrpc.client.rst:49
89- #, fuzzy
9088msgid ""
9189"The following parameters govern the use of the returned proxy instance. "
9290"If *allow_none* is true, the Python constant ``None`` will be translated"
@@ -117,9 +115,10 @@ msgstr ""
117115":class:`datetime.datetime` 객체로 표현하고 바이너리 데이터를 :class:`bytes` 객체로 표현할 수 "
118116"있습니다; 이 플래그는 기본적으로 거짓입니다. :class:`datetime.datetime`, :class:`bytes` 및 "
119117":class:`bytearray` 객체는 호출로 전달될 수 있습니다. *headers* 매개 변수는 각 요청과 함께 보낼 선택적 "
120- "HTTP 헤더의 시퀀스이며, 헤더 이름과 값을 나타내는 2-튜플의 시퀀스로 표현됩니다. (예를 들어 `[('Header-Name',"
121- " 'value')]`). 사용되지 않는 *use_datetime* 플래그는 *use_builtin_types*\\ 와 유사하지만, "
122- "날짜/시간 값에만 적용됩니다."
118+ "HTTP 헤더의 시퀀스이며, 헤더 이름과 값을 나타내는 2-튜플의 시퀀스로 표현됩니다. (예를 들어 ``[('Header-"
119+ "Name', 'value')]``). HTTPS URL이 제공되면, *context*\\ 는 "
120+ ":class:`ssl.SSLContext`\\ 일 수 있으며, 하부 HTTPS 연결의 SSL 설정을 구성합니다. 사용되지 않는 "
121+ "*use_datetime* 플래그는 *use_builtin_types*\\ 와 유사하지만, 날짜/시간 값에만 적용됩니다."
123122
124123#: ../../library/xmlrpc.client.rst:69 ../../library/xmlrpc.client.rst:549
125124msgid "The *use_builtin_types* flag was added."
@@ -130,7 +129,6 @@ msgid "The *headers* parameter was added."
130129msgstr "*headers* 매개 변수가 추가되었습니다."
131130
132131#: ../../library/xmlrpc.client.rst:75
133- #, fuzzy
134132msgid ""
135133"Both the HTTP and HTTPS transports support the URL syntax extension for "
136134"HTTP Basic Authentication: ``http://user:pass@host:port/path``. The "
@@ -142,8 +140,7 @@ msgstr ""
142140"HTTP와 HTTPS 트랜스포트는 모두 HTTP 기본 인증(Basic Authentication)을 위한 URL 구문 확장을 "
143141"지원합니다: ``http://user:pass@host:port/path``. ``user:pass`` 부분은 HTTP "
144142"'Authorization' 헤더로 base64 인코딩되고, XML-RPC 메서드를 호출할 때 연결 프로세스의 일부로 원격 서버로 "
145- "전송됩니다. 원격 서버가 기본 인증 사용자와 비밀번호를 요구할 때만 이를 사용해야 합니다. HTTPS URL이 제공되면, "
146- "*context*\\ 는 :class:`ssl.SSLContext` 일 수 있고 하부 HTTPS 연결의 SSL 설정을 구성합니다."
143+ "전송됩니다. 원격 서버가 기본 인증 사용자와 비밀번호를 요구할 때만 이를 사용해야 합니다."
147144
148145#: ../../library/xmlrpc.client.rst:82
149146msgid ""
@@ -320,7 +317,6 @@ msgid "Added the *context* argument."
320317msgstr "*context* 인자를 추가했습니다."
321318
322319#: ../../library/xmlrpc.client.rst:154
323- #, fuzzy
324320msgid ""
325321"Added support of type tags with prefixes (e.g. ``ex:nil``). Added support"
326322" of unmarshalling additional types used by Apache XML-RPC implementation "
@@ -330,13 +326,12 @@ msgid ""
330326msgstr ""
331327"접두사가 있는 형 태그 지원이 추가되었습니다 (예를 들어 ``ex:nil``). 숫자를 위해 Apache XML-RPC 구현이 "
332328"사용하는 추가 형의 역마샬링 지원이 추가되었습니다: ``i1``, ``i2``, ``i8``, ``biginteger``, "
333- "``float`` 및 ``bigdecimal``. 설명은 http ://ws.apache.org/xmlrpc/types.html 을 "
334- "참조하십시오."
329+ "``float`` 및 ``bigdecimal``. 설명은 https ://ws.apache.org/xmlrpc/types.html 을"
330+ " 참조하십시오."
335331
336332#: ../../library/xmlrpc.client.rst:164
337- #, fuzzy
338333msgid "`XML-RPC HOWTO <https://tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_"
339- msgstr "`XML-RPC HOWTO <http ://www. tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_"
334+ msgstr "`XML-RPC HOWTO <https ://tldp.org/HOWTO/XML-RPC-HOWTO/index.html>`_"
340335
341336#: ../../library/xmlrpc.client.rst:165
342337msgid ""
@@ -348,13 +343,12 @@ msgstr ""
348343"모든 것이 포함되어 있습니다."
349344
350345#: ../../library/xmlrpc.client.rst:168
351- #, fuzzy
352346msgid ""
353347"`XML-RPC Introspection "
354348"<https://xmlrpc-c.sourceforge.io/introspection.html>`_"
355349msgstr ""
356350"`XML-RPC Introspection "
357- "<http ://xmlrpc-c.sourceforge.net /introspection.html>`_"
351+ "<https ://xmlrpc-c.sourceforge.io /introspection.html>`_"
358352
359353#: ../../library/xmlrpc.client.rst:169
360354msgid "Describes the XML-RPC protocol extension for introspection."
@@ -473,6 +467,15 @@ msgid ""
473467"server.register_function(is_even, \" is_even\" )\n"
474468"server.serve_forever()"
475469msgstr ""
470+ "from xmlrpc.server import SimpleXMLRPCServer\n"
471+ "\n"
472+ "def is_even(n):\n"
473+ " return n % 2 == 0\n"
474+ "\n"
475+ "server = SimpleXMLRPCServer((\" localhost\" , 8000))\n"
476+ "print(\" Listening on port 8000...\" )\n"
477+ "server.register_function(is_even, \" is_even\" )\n"
478+ "server.serve_forever()"
476479
477480#: ../../library/xmlrpc.client.rst:241 ../../library/xmlrpc.client.rst:291
478481#: ../../library/xmlrpc.client.rst:401 ../../library/xmlrpc.client.rst:507
@@ -488,6 +491,11 @@ msgid ""
488491" print(\" 3 is even: %s\" % str(proxy.is_even(3)))\n"
489492" print(\" 100 is even: %s\" % str(proxy.is_even(100)))"
490493msgstr ""
494+ "import xmlrpc.client\n"
495+ "\n"
496+ "with xmlrpc.client.ServerProxy(\" http://localhost:8000/\" ) as proxy:\n"
497+ " print(\" 3 is even: %s\" % str(proxy.is_even(3)))\n"
498+ " print(\" 100 is even: %s\" % str(proxy.is_even(100)))"
491499
492500#: ../../library/xmlrpc.client.rst:252
493501msgid "DateTime Objects"
@@ -515,12 +523,13 @@ msgid ""
515523msgstr "이 :class:`DateTime` 항목의 XML-RPC 인코딩을 *out* 스트림 객체에 씁니다."
516524
517525#: ../../library/xmlrpc.client.rst:272
518- #, fuzzy
519526msgid ""
520527"It also supports certain of Python's built-in operators through "
521528":meth:`rich comparison <object.__lt__>` and :meth:`~object.__repr__` "
522529"methods."
523- msgstr "풍부한 비교와 :meth:`__repr__` 메서드를 통해 특정 파이썬 내장 연산자도 지원합니다."
530+ msgstr ""
531+ ":meth:`풍부한 비교 <object.__lt__>`\\ 와 :meth:`~object.__repr__` 메서드를 통해 특정 파이썬"
532+ " 내장 연산자도 지원합니다."
524533
525534#: ../../library/xmlrpc.client.rst:278
526535msgid ""
@@ -537,6 +546,18 @@ msgid ""
537546"server.register_function(today, \" today\" )\n"
538547"server.serve_forever()"
539548msgstr ""
549+ "import datetime\n"
550+ "from xmlrpc.server import SimpleXMLRPCServer\n"
551+ "import xmlrpc.client\n"
552+ "\n"
553+ "def today():\n"
554+ " today = datetime.datetime.today()\n"
555+ " return xmlrpc.client.DateTime(today)\n"
556+ "\n"
557+ "server = SimpleXMLRPCServer((\" localhost\" , 8000))\n"
558+ "print(\" Listening on port 8000...\" )\n"
559+ "server.register_function(today, \" today\" )\n"
560+ "server.serve_forever()"
540561
541562#: ../../library/xmlrpc.client.rst:293
542563#, python-format
@@ -551,6 +572,15 @@ msgid ""
551572"converted = datetime.datetime.strptime(today.value, \" %Y%m%dT%H:%M:%S\" )\n"
552573"print(\" Today: %s\" % converted.strftime(\" %d.%m.%Y, %H:%M\" ))"
553574msgstr ""
575+ "import xmlrpc.client\n"
576+ "import datetime\n"
577+ "\n"
578+ "proxy = xmlrpc.client.ServerProxy(\" http://localhost:8000/\" )\n"
579+ "\n"
580+ "today = proxy.today()\n"
581+ "# ISO8601 문자열을 datetime 객체로 변환합니다\n"
582+ "converted = datetime.datetime.strptime(today.value, \" %Y%m%dT%H:%M:%S\" )\n"
583+ "print(\" Today: %s\" % converted.strftime(\" %d.%m.%Y, %H:%M\" ))"
554584
555585#: ../../library/xmlrpc.client.rst:306
556586msgid "Binary Objects"
@@ -599,11 +629,12 @@ msgstr ""
599629"있는데, 이는 XML-RPC 명세가 작성될 때 사실상 표준 base64 명세였습니다."
600630
601631#: ../../library/xmlrpc.client.rst:338
602- #, fuzzy
603632msgid ""
604633"It also supports certain of Python's built-in operators through "
605634":meth:`~object.__eq__` and :meth:`~object.__ne__` methods."
606- msgstr ":meth:`__eq__`\\ 와 :meth:`__ne__` 메서드를 통해 특정 파이썬 내장 연산자도 지원합니다."
635+ msgstr ""
636+ ":meth:`~object.__eq__`\\ 와 :meth:`~object.__ne__` 메서드를 통해 특정 파이썬 내장 연산자도 "
637+ "지원합니다."
607638
608639#: ../../library/xmlrpc.client.rst:341
609640msgid ""
@@ -626,6 +657,18 @@ msgid ""
626657"\n"
627658"server.serve_forever()"
628659msgstr ""
660+ "from xmlrpc.server import SimpleXMLRPCServer\n"
661+ "import xmlrpc.client\n"
662+ "\n"
663+ "def python_logo():\n"
664+ " with open(\" python_logo.jpg\" , \" rb\" ) as handle:\n"
665+ " return xmlrpc.client.Binary(handle.read())\n"
666+ "\n"
667+ "server = SimpleXMLRPCServer((\" localhost\" , 8000))\n"
668+ "print(\" Listening on port 8000...\" )\n"
669+ "server.register_function(python_logo, 'python_logo')\n"
670+ "\n"
671+ "server.serve_forever()"
629672
630673#: ../../library/xmlrpc.client.rst:357
631674msgid "The client gets the image and saves it to a file::"
@@ -639,6 +682,11 @@ msgid ""
639682"with open(\" fetched_python_logo.jpg\" , \" wb\" ) as handle:\n"
640683" handle.write(proxy.python_logo().data)"
641684msgstr ""
685+ "import xmlrpc.client\n"
686+ "\n"
687+ "proxy = xmlrpc.client.ServerProxy(\" http://localhost:8000/\" )\n"
688+ "with open(\" fetched_python_logo.jpg\" , \" wb\" ) as handle:\n"
689+ " handle.write(proxy.python_logo().data)"
642690
643691#: ../../library/xmlrpc.client.rst:368
644692msgid "Fault Objects"
@@ -653,9 +701,8 @@ msgstr ""
653701"있습니다:"
654702
655703#: ../../library/xmlrpc.client.rst:378
656- #, fuzzy
657704msgid "An int indicating the fault type."
658- msgstr "결함 형을 나타내는 문자열 ."
705+ msgstr "결함 형을 나타내는 int ."
659706
660707#: ../../library/xmlrpc.client.rst:383
661708msgid "A string containing a diagnostic message associated with the fault."
@@ -682,6 +729,17 @@ msgid ""
682729"\n"
683730"server.serve_forever()"
684731msgstr ""
732+ "from xmlrpc.server import SimpleXMLRPCServer\n"
733+ "\n"
734+ "# 복소수를 반환하기 때문에 마샬링 에러가 발생합니다\n"
735+ "def add(x, y):\n"
736+ " return x+y+0j\n"
737+ "\n"
738+ "server = SimpleXMLRPCServer((\" localhost\" , 8000))\n"
739+ "print(\" Listening on port 8000...\" )\n"
740+ "server.register_function(add, 'add')\n"
741+ "\n"
742+ "server.serve_forever()"
685743
686744#: ../../library/xmlrpc.client.rst:403
687745#, python-format
@@ -696,6 +754,15 @@ msgid ""
696754" print(\" Fault code: %d\" % err.faultCode)\n"
697755" print(\" Fault string: %s\" % err.faultString)"
698756msgstr ""
757+ "import xmlrpc.client\n"
758+ "\n"
759+ "proxy = xmlrpc.client.ServerProxy(\" http://localhost:8000/\" )\n"
760+ "try:\n"
761+ " proxy.add(2, 5)\n"
762+ "except xmlrpc.client.Fault as err:\n"
763+ " print(\" A fault occurred\" )\n"
764+ " print(\" Fault code: %d\" % err.faultCode)\n"
765+ " print(\" Fault string: %s\" % err.faultString)"
699766
700767#: ../../library/xmlrpc.client.rst:418
701768msgid "ProtocolError Objects"
@@ -752,6 +819,19 @@ msgid ""
752819" print(\" Error code: %d\" % err.errcode)\n"
753820" print(\" Error message: %s\" % err.errmsg)"
754821msgstr ""
822+ "import xmlrpc.client\n"
823+ "\n"
824+ "# XMLRPC 요청에 응답하지 않는 URI로 ServerProxy를 만듭니다\n"
825+ "proxy = xmlrpc.client.ServerProxy(\" http://google.com/\" )\n"
826+ "\n"
827+ "try:\n"
828+ " proxy.some_method()\n"
829+ "except xmlrpc.client.ProtocolError as err:\n"
830+ " print(\" A protocol error occurred\" )\n"
831+ " print(\" URL: %s\" % err.url)\n"
832+ " print(\" HTTP/HTTPS headers: %s\" % err.headers)\n"
833+ " print(\" Error code: %d\" % err.errcode)\n"
834+ " print(\" Error message: %s\" % err.errmsg)"
755835
756836#: ../../library/xmlrpc.client.rst:465
757837msgid "MultiCall Objects"
@@ -808,6 +888,29 @@ msgid ""
808888"server.register_function(divide, 'divide')\n"
809889"server.serve_forever()"
810890msgstr ""
891+ "from xmlrpc.server import SimpleXMLRPCServer\n"
892+ "\n"
893+ "def add(x, y):\n"
894+ " return x + y\n"
895+ "\n"
896+ "def subtract(x, y):\n"
897+ " return x - y\n"
898+ "\n"
899+ "def multiply(x, y):\n"
900+ " return x * y\n"
901+ "\n"
902+ "def divide(x, y):\n"
903+ " return x // y\n"
904+ "\n"
905+ "# 간단한 산술 함수들이 있는 간단한 서버\n"
906+ "server = SimpleXMLRPCServer((\" localhost\" , 8000))\n"
907+ "print(\" Listening on port 8000...\" )\n"
908+ "server.register_multicall_functions()\n"
909+ "server.register_function(add, 'add')\n"
910+ "server.register_function(subtract, 'subtract')\n"
911+ "server.register_function(multiply, 'multiply')\n"
912+ "server.register_function(divide, 'divide')\n"
913+ "server.serve_forever()"
811914
812915#: ../../library/xmlrpc.client.rst:509
813916#, python-format
@@ -824,6 +927,17 @@ msgid ""
824927"\n"
825928"print(\" 7+3=%d, 7-3=%d, 7*3=%d, 7//3=%d\" % tuple(result))"
826929msgstr ""
930+ "import xmlrpc.client\n"
931+ "\n"
932+ "proxy = xmlrpc.client.ServerProxy(\" http://localhost:8000/\" )\n"
933+ "multicall = xmlrpc.client.MultiCall(proxy)\n"
934+ "multicall.add(7, 3)\n"
935+ "multicall.subtract(7, 3)\n"
936+ "multicall.multiply(7, 3)\n"
937+ "multicall.divide(7, 3)\n"
938+ "result = multicall()\n"
939+ "\n"
940+ "print(\" 7+3=%d, 7-3=%d, 7*3=%d, 7//3=%d\" % tuple(result))"
827941
828942#: ../../library/xmlrpc.client.rst:523
829943msgid "Convenience Functions"
@@ -889,6 +1003,18 @@ msgid ""
8891003" except Error as v:\n"
8901004" print(\" ERROR\" , v)"
8911005msgstr ""
1006+ "# 간단한 테스트 프로그램 (XML-RPC 명세에서 인용)\n"
1007+ "from xmlrpc.client import ServerProxy, Error\n"
1008+ "\n"
1009+ "# server = ServerProxy(\" http://localhost:8000\" ) # 로컬 서버\n"
1010+ "with ServerProxy(\" http://betty.userland.com\" ) as proxy:\n"
1011+ "\n"
1012+ " print(proxy)\n"
1013+ "\n"
1014+ " try:\n"
1015+ " print(proxy.examples.getStateName(41))\n"
1016+ " except Error as v:\n"
1017+ " print(\" ERROR\" , v)"
8921018
8931019#: ../../library/xmlrpc.client.rst:573
8941020msgid ""
@@ -921,6 +1047,26 @@ msgid ""
9211047"transport=transport)\n"
9221048"print(server.examples.getStateName(41))"
9231049msgstr ""
1050+ "import http.client\n"
1051+ "import xmlrpc.client\n"
1052+ "\n"
1053+ "class ProxiedTransport(xmlrpc.client.Transport):\n"
1054+ "\n"
1055+ " def set_proxy(self, host, port=None, headers=None):\n"
1056+ " self.proxy = host, port\n"
1057+ " self.proxy_headers = headers\n"
1058+ "\n"
1059+ " def make_connection(self, host):\n"
1060+ " connection = http.client.HTTPConnection(*self.proxy)\n"
1061+ " connection.set_tunnel(host, headers=self.proxy_headers)\n"
1062+ " self._connection = host, connection\n"
1063+ " return connection\n"
1064+ "\n"
1065+ "transport = ProxiedTransport()\n"
1066+ "transport.set_proxy('proxy-server', 8080)\n"
1067+ "server = xmlrpc.client.ServerProxy('http://betty.userland.com', "
1068+ "transport=transport)\n"
1069+ "print(server.examples.getStateName(41))"
9241070
9251071#: ../../library/xmlrpc.client.rst:598
9261072msgid "Example of Client and Server Usage"
0 commit comments