curl.setopt( pycurl.HEADERFUNCTION, headers_hdl )
...
def headers_hdl(h):
hu=h.upper()
if 'CONTENT-TYPE:' in hu:
if 'TEXT/HTML' not in hu:
raise TypeError(hu)
Этот обратный вызов должен возвращать количество байт, действительно обработанных функцией. Если это количество отличается от числа байт, переданных в вашу функцию, это будет сигнализировать библиотеке об ошибке. Передача будет прервана, а текущая функция libcurl вернет CURLE_WRITE_ERROR.