pycurl post 예제

파이썬 3에서 PycURL은 응답 본문을 바이트 문자열로 응답합니다. 이진 파일을 다운로드하는 경우 편리하지만 텍스트 문서의 경우 바이트 문자열을 디코딩해야합니다. 위의 예에서는 본문이 iso-8859-1로 인코딩된다고 가정합니다. 또한 모든 libcurl 쉬운 옵션의 목록과 이를 사용하는 예제 소스 코드의 목록을 볼 수 있습니다. 모든 예제는 특별히 언급되지 않는 한 C로 작성됩니다. 이것이 POST가 아니라는 것을 알고 있지만 상황이 약간 변경되었으므로이 스레드는 범프를 사용할 수 있습니다. 예제에서 spark.io 여전히 호출되고 있음을 알 수 있습니다. 이제 particle.io. 나는 사람들이 시작하는 데 도움이 될 것입니다 샘플 get 요청을 포함했다. 파일 업로드 동작을 HTML 양식(특히 다중 부분 양식)으로 복제하려면 HTTPPOST 옵션을 사용합니다. 이러한 업로드는 POST 요청과 함께 수행됩니다. PUT 요청으로 파일을 업로드하는 방법에 대한 다음 예제를 참조하세요.

Http://pycurl.cvs.sourceforge.net/pycurl/pycurl/tests/test_post2.py?view=markup 파이썬 2와 파이썬 3 버전을 결합 할 수 있습니다 : Heh, 그것을 수행하는 방법에 대한 문서가있는 것 같습니다. 이렇게하려면 Python 3 버전에서와 같이 응답 본문을 디코딩해야합니다. 결합된 예제에 대한 코드는 예제/빠른 시작/get.py에서 찾을 수 있습니다. allexamples.zip을 다운로드, 그것은 여기에 나열된 모든 예제 소스를 포함. http://code.activestate.com/recipes/146306/ 설명한 대로 표준 파이썬 라이브러리 (urllib, httplib, …)로 파일을 업로드하는 방법이 있습니다. 그러나 이진 데이터에 대해 나를 위해 작동하지 않았습니다. 나는 http://fabien.seisen.org/python/urllib2_multipart.html 설명 된 솔루션을 좋아 / 시도하지 않았기 때문에 pycurl (http://curl.haxx.se/libcurl/ http://pycurl.sourceforge.net/ 래퍼)로 시도했습니다. 매우 간단합니다 (변수 값을 게시하기 위해 @ 추가하십시오). 그러한 예나 문서가 없기 때문에 적절한 방법을 찾기가 조금 어려웠습니다. 그러나 나는 그것을 발견했고, 그것은 너무 간단하다;) 이 코드는 예제/퀵스타트/get_python2.py로 사용할 수 있습니다. 이러한 파일은 예제로만 사용할 수 있습니다. 단순성과 명확성을 위해 적절한 오류 처리를 포함하지 않을 수 있으며 일부 플랫폼에서 컴파일러 경고를 생성할 수 있습니다.

실제 응용 프로그램은 이러한 문제에 더 많은 주의를 기울여야 합니다. libcurl은 일반적으로 파일 업로드 및 다중 부분 양식 제출을 조정할 수있는 여러 가지 옵션을 제공합니다. curl_formadd 페이지에 설명되어 있습니다. 예를 들어 다른 파일 이름 및 콘텐츠 형식을 설정하려면 문서/예제에서 배포 아카이브에서 이러한 예제를 찾을 수도 있습니다. 테스트 매트릭스는 지원되는 파이썬 버전과 지원되는 libcurl 버전을 다운로드, 빌드 및 설치한 다음 각 조합에 대해 pycurl 테스트를 실행합니다. 조합이 무엇인지 확인하려면 테스트/matrix.py를 참조하십시오. QUERY_STRING 매개 변수를 이전에 사용한 URL에 부가하고 컬을 사용하여 쿼리합니다. 위의 코드에서 주의해야 할 점은 Set-Cookie와 같은 동일한 이름에 대해 여러 개의 헤더가 있는 경우 마지막 헤더 값만 저장된다는 것입니다. 다중 값 헤더의 모든 값을 목록으로 기록하려면 헤더[name] = 값 줄 대신 다음 코드를 사용할 수 있습니다. 폼 데이터를 보내려면 POSTFIELDS 옵션을 사용하십시오.

양식 데이터는 사전에 URL 인코딩되어야 합니다: PycURL이 설치되면 네트워크 작업을 수행할 수 있습니다.