curl and popen2

Robey Holderith robey at flaminglunchbox.net
Wed Feb 2 00:57:12 EST 2005


On Tue, 01 Feb 2005 17:48:53 -0800, lists04 wrote:

> Hi,
> 
> I have a problem with a curl request and running it under popen2.
> 
> If I run this request from the command line:
> curl -i http://www.yahoo.com/test --stderr errfile
> (also tried redirecting stdderr to a file 2>, nothing) the file errfile
> is empty indicating no error with the request.
> 
> However, when I do something similar in python:
>>>> cmd="curl -i http://www.yahoo.com/test"
>>>> output, input, err = popen2.popen3(cmd)
>>>> error = err.readlines()
>>>> error
> ['  % Total    % Received % Xferd  Average Speed          Time
> Curr.\n', '                                 Dload  Upload Total
> Current  Left    Speed\n', '\r100   981    0   981    0     0  24525
> 0 --:--:--  0:00:00 --:--:-- 24525\r100  2484    0  2484    0     0
> 62100      0 --:--:--  0:00:00 --:--:-- 1467k\n']
> 
> I looked in the man page for curl, it doesnt say that it writes some
> bandwidth statistics to stderr. Am I missing something or is this
> better directed to some other newsgroup? 
> 

Many of the more "sophisticated" command line applications use stderr to
write things that are intended directly for the user's eyes.  The idea is
that it is often useful to have the file itself be written to stdout so
that pipes can be used, but the user still needs to see what is going on. 
Try using "curl --silent -i http://www.yahoo.com/test".  That should turn
off all of the "user-friendly" updates to stderr.

-Robey Holderith

> TIA
> 
> Hari





More information about the Python-list mailing list