Biblioteka znacznie bardziej popularna i posiadająca wiele portów do różnych języków, co wiąże się z tym, że łatwiej jest odnaleźć przykłady i rozwiązać potencjalne problemy. W rozdziale Quick Start, znajduje się kilka interesujących, z omówieniem ich mechanizmów. Ciekawy wydał mi się pycrul.WRITEDATA. Z tego co udało mi się rozumieć, biblioteka nie posiada bufora na odpowiedź od serwera i to zadaniem aplikacji jest ustawienie go, dzięki tej opcji.
#! /usr/bin/env python3
import pycurl
import urllib.parse
from io import BytesIO
def post3():
buffer = BytesIO()
c = pycurl.Curl()
c.setopt(pycurl.URL, 'http://requestb.in/kcco1337')
c.setopt(pycurl.WRITEDATA, buffer)
post_data = {'login': 'user1', 'password': 'hasło 1'}
post_fields = urllib.parse.urlencode(post_data)
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, post_fields)
c.perform()
c.close()
print(buffer.getvalue().decode('iso-8859-1'))
Raw body:password=has%C5%82o+1&login=user1
Brak komentarzy:
Prześlij komentarz