|
| 1 | +PycURL -- cURL 라이브러리에 대한 파이썬 인터페이스 |
| 2 | +================================================ |
| 3 | + |
| 4 | +.. image:: https://api.travis-ci.org/pycurl/pycurl.png |
| 5 | + :target: https://travis-ci.org/pycurl/pycurl |
| 6 | + |
| 7 | +.. image:: https://ci.appveyor.com/api/projects/status/q40v2q8r5d06bu92/branch/master?svg=true |
| 8 | + :target: https://ci.appveyor.com/project/p/pycurl/branch/master |
| 9 | + |
| 10 | +PycURL은 멀티 프로토콜 파일 전송 라이브러리인 `libcurl`_, 에 대한 Python 인터페이스 입니다. |
| 11 | +urllib_ Python 모듈과 마찬가지로, PycURL 을 사용하여 Python프로그램에서 URL로 식별되는 객체를 가져올 수 있습니다. |
| 12 | +그러나 단순한 페치외에도 PycURL은 다음을 포함하여 libural의 기능을 대부분 보여줍니다.: |
| 13 | + |
| 14 | +- 속도 - libcurl은 매우 빠르며 libcurl보다 얇은 래퍼인 PycURL도 매우 빠릅니다. |
| 15 | + PycURL은 요청_ 보다 몇 배 빠르다는`벤치마킹`_ 을 했습니다. |
| 16 | +- 여러 프로토콜 지원, SSL, 인증 및 프록시 옵션을 포함한 기능. PycURL은 대부분의 libcurl 콜백을 지원합니다. |
| 17 | +- 멀티_ 및 공유_ 인터페이스. |
| 18 | +- 네트워크 작업에 사용되는 소켓으로 PycURL을 응용 프로그램의 I / O 루프에 통합 할 수 있습니다 (e.g., Tornado_ 사용). |
| 19 | + |
| 20 | +.. _벤치마킹: http://stackoverflow.com/questions/15461995/python-requests-vs-pycurl-performance |
| 21 | +.. _요청: http://python-requests.org/ |
| 22 | +.. _멀티: https://curl.haxx.se/libcurl/c/libcurl-multi.html |
| 23 | +.. _공유: https://curl.haxx.se/libcurl/c/libcurl-share.html |
| 24 | +.. _Tornado: http://www.tornadoweb.org/ |
| 25 | + |
| 26 | + |
| 27 | +요구 사항 |
| 28 | +--------- |
| 29 | + |
| 30 | +- Python 3.5-3.8. |
| 31 | +- libcurl 7.19.0 이상. |
| 32 | + |
| 33 | + |
| 34 | +설치 |
| 35 | +---- |
| 36 | + |
| 37 | +`PyPI`_ 또는 `Bintray`_ 에서 소스 및 바이너리 배포판을 다운로드 하십시오. |
| 38 | +이제 바이너리 휘을 32 비트 및 64 비트 Windows 버전에서 사용할 수 있습니다. |
| 39 | + |
| 40 | +설치 지침은 `INSTALL.rst`_ 를 참조하십시오. Git checkout에서 설치하는 경우, INSTALL.rst 의 `Git Checkout`_ 섹션의 지침을 따르십시오. |
| 41 | + |
| 42 | +.. _PyPI: https://pypi.python.org/pypi/pycurl |
| 43 | +.. _Bintray: https://dl.bintray.com/pycurl/pycurl/ |
| 44 | +.. _INSTALL.rst: http://pycurl.io/docs/latest/install.html |
| 45 | +.. _Git Checkout: http://pycurl.io/docs/latest/install.html#git-checkout |
| 46 | + |
| 47 | + |
| 48 | +문서 |
| 49 | +---- |
| 50 | + |
| 51 | +최신 PycURL 릴리즈에 대한 설명서는 `PycURL 웹사이트 <http://pycurl.io/docs/latest/>`_ 에서 구할 수 있습니다. |
| 52 | + |
| 53 | +PycURL 개발 버전에 대한 설명서는 `여기 <http://pycurl.io/docs/dev/>`_ 에서 볼 수 있습니다. |
| 54 | + |
| 55 | +소스에서 문서를 작성하려면 ``make docs``문서를 실행하십시오. |
| 56 | +작성하려면 `Sphinx <http://sphinx-doc.org/>`_ 를 설치해야하며 문서 문자열로 작성된 pycurl 확장 모듈도 설치해야 합니다. |
| 57 | +빌드된 문서는 ``build/doc`` 서브 디렉터리에 저장됩니다. |
| 58 | + |
| 59 | + |
| 60 | +지원 |
| 61 | +---- |
| 62 | + |
| 63 | +지원 질문은 `curl-and-python 메일링 목록`_을 사용 하십시오. |
| 64 | +`메일링 목록 보관소`_ 도 사용자의 사용을 위해 제공됩니다. |
| 65 | + |
| 66 | +공식 지원 장소는 아니지만, `Stack Overflow`_ 는 일부 PycURL 사용자에게 인기가 있습니다. |
| 67 | + |
| 68 | +버그는 `GitHub`_를 통해 보고될 수 있습니다. 버그 보고서와 GitHub는 메일링 목록에 직접 문의하십시오. |
| 69 | + |
| 70 | +.. _curl-and-python 메일링 목록: http://cool.haxx.se/mailman/listinfo/curl-and-python |
| 71 | +.. _Stack Overflow: http://stackoverflow.com/questions/tagged/pycurl |
| 72 | +.. _메일링 목록 보관소: https://curl.haxx.se/mail/list.cgi?list=curl-and-python |
| 73 | +.. _GitHub: https://github.com/pycurl/pycurl/issues |
| 74 | + |
| 75 | + |
| 76 | +Automated Tests |
| 77 | +--------------- |
| 78 | + |
| 79 | +PycURL comes with an automated test suite. To run the tests, execute:: |
| 80 | + |
| 81 | + make test |
| 82 | + |
| 83 | +The suite depends on packages `nose`_ and `bottle`_, as well as `vsftpd`_. |
| 84 | + |
| 85 | +Some tests use vsftpd configured to accept anonymous uploads. These tests |
| 86 | +are not run by default. As configured, vsftpd will allow reads and writes to |
| 87 | +anything the user running the tests has read and write access. To run |
| 88 | +vsftpd tests you must explicitly set PYCURL_VSFTPD_PATH variable like so:: |
| 89 | + |
| 90 | + # use vsftpd in PATH |
| 91 | + export PYCURL_VSFTPD_PATH=vsftpd |
| 92 | + |
| 93 | + # specify full path to vsftpd |
| 94 | + export PYCURL_VSFTPD_PATH=/usr/local/libexec/vsftpd |
| 95 | + |
| 96 | +.. _nose: https://nose.readthedocs.org/ |
| 97 | +.. _bottle: http://bottlepy.org/ |
| 98 | +.. _vsftpd: http://vsftpd.beasts.org/ |
| 99 | + |
| 100 | + |
| 101 | +Test Matrix |
| 102 | +----------- |
| 103 | + |
| 104 | +The test matrix is a separate framework that runs tests on more esoteric |
| 105 | +configurations. It supports: |
| 106 | + |
| 107 | +- Testing against Python 2.4, which bottle does not support. |
| 108 | +- Testing against Python compiled without threads, which requires an out of |
| 109 | + process test server. |
| 110 | +- Testing against locally compiled libcurl with arbitrary options. |
| 111 | + |
| 112 | +To use the test matrix, first start the test server from Python 2.5+ by |
| 113 | +running:: |
| 114 | + |
| 115 | + python -m tests.appmanager |
| 116 | + |
| 117 | +Then in a different shell, and preferably in a separate user account, |
| 118 | +run the test matrix:: |
| 119 | + |
| 120 | + # run ftp tests, etc. |
| 121 | + export PYCURL_VSFTPD_PATH=vsftpd |
| 122 | + # create a new work directory, preferably not under pycurl tree |
| 123 | + mkdir testmatrix |
| 124 | + cd testmatrix |
| 125 | + # run the matrix specifying absolute path |
| 126 | + python /path/to/pycurl/tests/matrix.py |
| 127 | + |
| 128 | +The test matrix will download, build and install supported Python versions |
| 129 | +and supported libcurl versions, then run pycurl tests against each combination. |
| 130 | +To see what the combinations are, look in |
| 131 | +`tests/matrix.py <tests/matrix.py>`_. |
| 132 | + |
| 133 | + |
| 134 | +Contribute |
| 135 | +---------- |
| 136 | + |
| 137 | +For smaller changes: |
| 138 | + |
| 139 | +#. Fork `the repository`_ on Github. |
| 140 | +#. Create a branch off **master**. |
| 141 | +#. Make your changes. |
| 142 | +#. Write a test which shows that the bug was fixed or that the feature |
| 143 | + works as expected. |
| 144 | +#. Send a pull request. |
| 145 | +#. Check back after 10-15 minutes to see if tests passed on Travis CI. |
| 146 | + PycURL supports old Python and libcurl releases and their support is tested |
| 147 | + on Travis. |
| 148 | + |
| 149 | +For larger changes: |
| 150 | + |
| 151 | +#. Join the `mailing list`_. |
| 152 | +#. Discuss your proposal on the mailing list. |
| 153 | +#. When consensus is reached, implement it as described above. |
| 154 | + |
| 155 | +Please contribute binary distributions for your system to the |
| 156 | +`downloads repository`_. |
| 157 | + |
| 158 | + |
| 159 | +License |
| 160 | +------- |
| 161 | + |
| 162 | +:: |
| 163 | + |
| 164 | + Copyright (C) 2001-2008 by Kjetil Jacobsen <kjetilja at gmail.com> |
| 165 | + Copyright (C) 2001-2008 by Markus F.X.J. Oberhumer <markus at oberhumer.com> |
| 166 | + Copyright (C) 2013-2020 by Oleg Pudeyev <oleg at bsdpower.com> |
| 167 | + |
| 168 | + All rights reserved. |
| 169 | + |
| 170 | + PycURL is dual licensed under the LGPL and an MIT/X derivative license |
| 171 | + based on the cURL license. A full copy of the LGPL license is included |
| 172 | + in the file COPYING-LGPL. A full copy of the MIT/X derivative license is |
| 173 | + included in the file COPYING-MIT. You can redistribute and/or modify PycURL |
| 174 | + according to the terms of either license. |
| 175 | + |
| 176 | +.. _PycURL: http://pycurl.io/ |
| 177 | +.. _libcurl: https://curl.haxx.se/libcurl/ |
| 178 | +.. _urllib: http://docs.python.org/library/urllib.html |
| 179 | +.. _`the repository`: https://github.com/pycurl/pycurl |
| 180 | +.. _`mailing list`: http://cool.haxx.se/mailman/listinfo/curl-and-python |
| 181 | +.. _`downloads repository`: https://github.com/pycurl/downloads |
0 commit comments