@@ -17,9 +17,8 @@ msgstr ""
17
17
"Generated-By : Babel 2.17.0\n "
18
18
19
19
#: ../../library/xmlrpc.client.rst:2
20
- #, fuzzy
21
20
msgid ":mod:`!xmlrpc.client` --- XML-RPC client access"
22
- msgstr ":mod:`xmlrpc.client` --- XML-RPC 클라이언트 액세스"
21
+ msgstr ":mod:`! xmlrpc.client` --- XML-RPC 클라이언트 액세스"
23
22
24
23
#: ../../library/xmlrpc.client.rst:10
25
24
msgid "**Source code:** :source:`Lib/xmlrpc/client.py`"
@@ -86,7 +85,6 @@ msgstr ""
86
85
"UTF-8입니다. 선택적 네 번째 인자는 디버깅 플래그입니다."
87
86
88
87
#: ../../library/xmlrpc.client.rst:49
89
- #, fuzzy
90
88
msgid ""
91
89
"The following parameters govern the use of the returned proxy instance. "
92
90
"If *allow_none* is true, the Python constant ``None`` will be translated"
@@ -117,9 +115,10 @@ msgstr ""
117
115
":class:`datetime.datetime` 객체로 표현하고 바이너리 데이터를 :class:`bytes` 객체로 표현할 수 "
118
116
"있습니다; 이 플래그는 기본적으로 거짓입니다. :class:`datetime.datetime`, :class:`bytes` 및 "
119
117
":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*\\ 와 유사하지만, 날짜/시간 값에만 적용됩니다."
123
122
124
123
#: ../../library/xmlrpc.client.rst:69 ../../library/xmlrpc.client.rst:549
125
124
msgid "The *use_builtin_types* flag was added."
@@ -130,7 +129,6 @@ msgid "The *headers* parameter was added."
130
129
msgstr "*headers* 매개 변수가 추가되었습니다."
131
130
132
131
#: ../../library/xmlrpc.client.rst:75
133
- #, fuzzy
134
132
msgid ""
135
133
"Both the HTTP and HTTPS transports support the URL syntax extension for "
136
134
"HTTP Basic Authentication: ``http://user:pass@host:port/path``. The "
@@ -142,8 +140,7 @@ msgstr ""
142
140
"HTTP와 HTTPS 트랜스포트는 모두 HTTP 기본 인증(Basic Authentication)을 위한 URL 구문 확장을 "
143
141
"지원합니다: ``http://user:pass@host:port/path``. ``user:pass`` 부분은 HTTP "
144
142
"'Authorization' 헤더로 base64 인코딩되고, XML-RPC 메서드를 호출할 때 연결 프로세스의 일부로 원격 서버로 "
145
- "전송됩니다. 원격 서버가 기본 인증 사용자와 비밀번호를 요구할 때만 이를 사용해야 합니다. HTTPS URL이 제공되면, "
146
- "*context*\\ 는 :class:`ssl.SSLContext` 일 수 있고 하부 HTTPS 연결의 SSL 설정을 구성합니다."
143
+ "전송됩니다. 원격 서버가 기본 인증 사용자와 비밀번호를 요구할 때만 이를 사용해야 합니다."
147
144
148
145
#: ../../library/xmlrpc.client.rst:82
149
146
msgid ""
@@ -320,7 +317,6 @@ msgid "Added the *context* argument."
320
317
msgstr "*context* 인자를 추가했습니다."
321
318
322
319
#: ../../library/xmlrpc.client.rst:154
323
- #, fuzzy
324
320
msgid ""
325
321
"Added support of type tags with prefixes (e.g. ``ex:nil``). Added support"
326
322
" of unmarshalling additional types used by Apache XML-RPC implementation "
@@ -330,13 +326,12 @@ msgid ""
330
326
msgstr ""
331
327
"접두사가 있는 형 태그 지원이 추가되었습니다 (예를 들어 ``ex:nil``). 숫자를 위해 Apache XML-RPC 구현이 "
332
328
"사용하는 추가 형의 역마샬링 지원이 추가되었습니다: ``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
+ " 참조하십시오."
335
331
336
332
#: ../../library/xmlrpc.client.rst:164
337
- #, fuzzy
338
333
msgid "`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>`_"
340
335
341
336
#: ../../library/xmlrpc.client.rst:165
342
337
msgid ""
@@ -348,13 +343,12 @@ msgstr ""
348
343
"모든 것이 포함되어 있습니다."
349
344
350
345
#: ../../library/xmlrpc.client.rst:168
351
- #, fuzzy
352
346
msgid ""
353
347
"`XML-RPC Introspection "
354
348
"<https://xmlrpc-c.sourceforge.io/introspection.html>`_"
355
349
msgstr ""
356
350
"`XML-RPC Introspection "
357
- "<http ://xmlrpc-c.sourceforge.net /introspection.html>`_"
351
+ "<https ://xmlrpc-c.sourceforge.io /introspection.html>`_"
358
352
359
353
#: ../../library/xmlrpc.client.rst:169
360
354
msgid "Describes the XML-RPC protocol extension for introspection."
@@ -473,6 +467,15 @@ msgid ""
473
467
"server.register_function(is_even, \" is_even\" )\n"
474
468
"server.serve_forever()"
475
469
msgstr ""
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()"
476
479
477
480
#: ../../library/xmlrpc.client.rst:241 ../../library/xmlrpc.client.rst:291
478
481
#: ../../library/xmlrpc.client.rst:401 ../../library/xmlrpc.client.rst:507
@@ -488,6 +491,11 @@ msgid ""
488
491
" print(\" 3 is even: %s\" % str(proxy.is_even(3)))\n"
489
492
" print(\" 100 is even: %s\" % str(proxy.is_even(100)))"
490
493
msgstr ""
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)))"
491
499
492
500
#: ../../library/xmlrpc.client.rst:252
493
501
msgid "DateTime Objects"
@@ -515,12 +523,13 @@ msgid ""
515
523
msgstr "이 :class:`DateTime` 항목의 XML-RPC 인코딩을 *out* 스트림 객체에 씁니다."
516
524
517
525
#: ../../library/xmlrpc.client.rst:272
518
- #, fuzzy
519
526
msgid ""
520
527
"It also supports certain of Python's built-in operators through "
521
528
":meth:`rich comparison <object.__lt__>` and :meth:`~object.__repr__` "
522
529
"methods."
523
- msgstr "풍부한 비교와 :meth:`__repr__` 메서드를 통해 특정 파이썬 내장 연산자도 지원합니다."
530
+ msgstr ""
531
+ ":meth:`풍부한 비교 <object.__lt__>`\\ 와 :meth:`~object.__repr__` 메서드를 통해 특정 파이썬"
532
+ " 내장 연산자도 지원합니다."
524
533
525
534
#: ../../library/xmlrpc.client.rst:278
526
535
msgid ""
@@ -537,6 +546,18 @@ msgid ""
537
546
"server.register_function(today, \" today\" )\n"
538
547
"server.serve_forever()"
539
548
msgstr ""
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()"
540
561
541
562
#: ../../library/xmlrpc.client.rst:293
542
563
#, python-format
@@ -551,6 +572,15 @@ msgid ""
551
572
"converted = datetime.datetime.strptime(today.value, \" %Y%m%dT%H:%M:%S\" )\n"
552
573
"print(\" Today: %s\" % converted.strftime(\" %d.%m.%Y, %H:%M\" ))"
553
574
msgstr ""
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\" ))"
554
584
555
585
#: ../../library/xmlrpc.client.rst:306
556
586
msgid "Binary Objects"
@@ -599,11 +629,12 @@ msgstr ""
599
629
"있는데, 이는 XML-RPC 명세가 작성될 때 사실상 표준 base64 명세였습니다."
600
630
601
631
#: ../../library/xmlrpc.client.rst:338
602
- #, fuzzy
603
632
msgid ""
604
633
"It also supports certain of Python's built-in operators through "
605
634
":meth:`~object.__eq__` and :meth:`~object.__ne__` methods."
606
- msgstr ":meth:`__eq__`\\ 와 :meth:`__ne__` 메서드를 통해 특정 파이썬 내장 연산자도 지원합니다."
635
+ msgstr ""
636
+ ":meth:`~object.__eq__`\\ 와 :meth:`~object.__ne__` 메서드를 통해 특정 파이썬 내장 연산자도 "
637
+ "지원합니다."
607
638
608
639
#: ../../library/xmlrpc.client.rst:341
609
640
msgid ""
@@ -626,6 +657,18 @@ msgid ""
626
657
"\n"
627
658
"server.serve_forever()"
628
659
msgstr ""
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()"
629
672
630
673
#: ../../library/xmlrpc.client.rst:357
631
674
msgid "The client gets the image and saves it to a file::"
@@ -639,6 +682,11 @@ msgid ""
639
682
"with open(\" fetched_python_logo.jpg\" , \" wb\" ) as handle:\n"
640
683
" handle.write(proxy.python_logo().data)"
641
684
msgstr ""
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)"
642
690
643
691
#: ../../library/xmlrpc.client.rst:368
644
692
msgid "Fault Objects"
@@ -653,9 +701,8 @@ msgstr ""
653
701
"있습니다:"
654
702
655
703
#: ../../library/xmlrpc.client.rst:378
656
- #, fuzzy
657
704
msgid "An int indicating the fault type."
658
- msgstr "결함 형을 나타내는 문자열 ."
705
+ msgstr "결함 형을 나타내는 int ."
659
706
660
707
#: ../../library/xmlrpc.client.rst:383
661
708
msgid "A string containing a diagnostic message associated with the fault."
@@ -682,6 +729,17 @@ msgid ""
682
729
"\n"
683
730
"server.serve_forever()"
684
731
msgstr ""
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()"
685
743
686
744
#: ../../library/xmlrpc.client.rst:403
687
745
#, python-format
@@ -696,6 +754,15 @@ msgid ""
696
754
" print(\" Fault code: %d\" % err.faultCode)\n"
697
755
" print(\" Fault string: %s\" % err.faultString)"
698
756
msgstr ""
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)"
699
766
700
767
#: ../../library/xmlrpc.client.rst:418
701
768
msgid "ProtocolError Objects"
@@ -752,6 +819,19 @@ msgid ""
752
819
" print(\" Error code: %d\" % err.errcode)\n"
753
820
" print(\" Error message: %s\" % err.errmsg)"
754
821
msgstr ""
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)"
755
835
756
836
#: ../../library/xmlrpc.client.rst:465
757
837
msgid "MultiCall Objects"
@@ -808,6 +888,29 @@ msgid ""
808
888
"server.register_function(divide, 'divide')\n"
809
889
"server.serve_forever()"
810
890
msgstr ""
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()"
811
914
812
915
#: ../../library/xmlrpc.client.rst:509
813
916
#, python-format
@@ -824,6 +927,17 @@ msgid ""
824
927
"\n"
825
928
"print(\" 7+3=%d, 7-3=%d, 7*3=%d, 7//3=%d\" % tuple(result))"
826
929
msgstr ""
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))"
827
941
828
942
#: ../../library/xmlrpc.client.rst:523
829
943
msgid "Convenience Functions"
@@ -889,6 +1003,18 @@ msgid ""
889
1003
" except Error as v:\n"
890
1004
" print(\" ERROR\" , v)"
891
1005
msgstr ""
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)"
892
1018
893
1019
#: ../../library/xmlrpc.client.rst:573
894
1020
msgid ""
@@ -921,6 +1047,26 @@ msgid ""
921
1047
"transport=transport)\n"
922
1048
"print(server.examples.getStateName(41))"
923
1049
msgstr ""
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))"
924
1070
925
1071
#: ../../library/xmlrpc.client.rst:598
926
1072
msgid "Example of Client and Server Usage"
0 commit comments