이것은 거의 Send file using POST from a Python script의 중복 파일입니다.하지만 경고문을 추가하고 싶습니다. 필자는 필드 및 첨부 파일의 인코딩을 올바르게 처리해야합니다. 비 ASCII 문자가 포함 된 유니 코드 문자열을 믹스에 포함 시키면 내가 찾던 해답을 찾을 수있었습니다. 또한 대부분의 솔루션은 일곱 비트를 깨끗하게 유지하기 위해 데이터를 base64 인코딩하지 않습니다.Python 스크립트에서 POST를 사용하여 파일 보내기
답변
제가 생각할 수있는 가장 좋은 점은 직접 인코딩하는 것입니다. 이 서브 루틴은 어때?
from urllib2 import Request, urlopen
from binascii import b2a_base64
def b64open(url, postdata):
req = Request(url, b2a_base64(postdata), headers={'Content-Transfer-Encoding': 'base64'})
return urlopen(req)
conn = b64open("http://www.whatever.com/script.cgi", u"Liberté Égalité Fraternité")
# returns a file-like object
는 (좋아, 그럼이 코드는 단지 POST 데이터를 전송한다. 그러나 당신이 바로? 음, 꽤 간단 조합이다,에 "업로드 파일"버튼을 클릭 한 것처럼 분명히, 다중 인코딩 된 데이터를 원하는 여기에 귀하가 링크 한 질문의 답이 있습니다.)
PyCURL은 Python의 CURL에 대한 인터페이스를 제공합니다.
http://curl.haxx.se/libcurl/python/
은 컬는 당신이 필요로하는 모든 것을 할 것입니다. 바이너리 파일을 올바르게 전송할 수 있고 많은 인코딩을 지원합니다. 그러나 파일을 게시 할 때 사용자 정의 헤더로 적절한 문자 인코딩을 사용해야합니다.
http://curl.haxx.se/docs/httpscripting.html (4.3 절) 곱슬
(또는 다른 HTTP 클라이언트)는 콘텐츠 인코딩을 설정해야 할 수 있습니다
특히, 당신은 '파일 업로드'스타일 POST를 수행해야 할 수 있습니다 :
콘텐츠 유형 : text/html; 문자셋 = UTF-8 또한
, 요청 헤더가 ASCII해야한다는 인식, 이것은 URL (그래서 당신은 제대로 아마도 유니 코드 URL을 탈출해야합니다. 유니 코드는 HTTP 헤더에 대한 빠져있다) 포함이 최근에 파이썬에서 수정되었습니다 :
http://bugs.python.org/issue3300
나는 당신의 기본 문자는 서버에 설정된 설정을 포함하여 주제에 대한 더 많은 정보는,이,이 도움이 되었으면 좋겠 등
그냥이 라이브러리를 사용하여 전송 파일에 있습니다.
- 1. Python 스크립트에서 POST를 사용하여 파일 보내기
- 2. $ .post를 사용하여 JSON 데이터 보내기
- 3. FORM POST를 사용하여 SharePoint에 파일 업로드
- 4. 자바 스크립트에서 메일 보내기
- 5. XHR을 사용하여 POST를 통해 많은 양의 데이터 보내기
- 6. 소켓 PHP를 사용하여 파일 보내기
- 7. android에서 소켓을 사용하여 파일 보내기
- 8. MFMailComposeViewController를 사용하여 .wav 파일 보내기
- 9. Java에서 DataOutputStream을 사용하여 파일 보내기
- 10. Python 소켓을 사용하여 인스턴스로 데이터 보내기
- 11. Python urllib2 게시물 보내기
- 12. Python 스크립트에서 콘솔을 숨기시겠습니까?
- 13. 레일에서 POST를 사용하여 redirect_to
- 14. POST를 사용하여 Ajax 리디렉션
- 15. 액션 스크립트에서 서블릿으로 XML 보내기
- 16. DKIM 서명 이메일 보내기 - Python
- 17. keytab을 사용하는 python 스크립트에서 kinit
- 18. Python : 스크립트에서 나온 exe 파일, 중요한 성능 decrese
- 19. python 스크립트에서 EDITOR (vim) 호출
- 20. AppEngine - HTTP를 사용하여 blobstore에 파일 보내기
- 21. ActionMailer 3을 사용하여 html 첨부 파일 보내기
- 22. WCF를 사용하여 전자 메일로 첨부 파일 보내기
- 23. PHP jQuery를 사용하여 파일 보내기 및 받기
- 24. webpy 및 urllib2를 사용하여 파일 보내기
- 25. Qt로 게시물을 사용하여 서버에 바이너리 파일 보내기
- 26. SMTPLIB.data()를 사용하여 첨부 파일 보내기
- 27. CURL POST를 사용하여 Flickr에 파일 스트림을 직접 업로드하려면 어떻게해야합니까?
- 28. Python Multiprocessing : 프로세스에 데이터 보내기
- 29. Python : 다른 스크립트로 변수 보내기
- 30. 자바 스크립트에서 파일 삭제