StackOverflow Reputation Using the Windows Command Line (cmd.exe)

How can I view my reputation using a command line script?

(In response to https://stackoverflow.com/a/320839/ ... because I'm bored.)

+6
windows cmd
source share
3 answers
  @echo off & setlocal
 :: Supports curl, wget, plink, and nc

 set SoUID = YOUR UID HERE
 :: Example: set SoUID = 49849
 set SoHost = stackoverflow.com

 set FlairPath = / users / flair /% SoUID% .json
 set FlairURL = http: //% SoHost %% FlairPath%
 set TempTag =% SoHost% -% SoUID% -% random%
 set TempFile =% TEMP% \% TempTag% .json
 set Script =% TEMP% \% TempTag% .script
 set RawOut =% TEMP% \% TempTag% .out

 call: check curl
 if not "% App%" == "" "% App%" -o "% TempFile%" -s "% FlairURL%" & goto: Next

 call: check wget
 if not "% App%" == "" "% App%" -O "% TempFile%" -q "% FlairURL%" & goto: Next

 call: check plink
 if not "% App%" == "" call: MakeScript & "% App%" -raw% SoHost% -P 80 -batch "% RawOut%" & goto: NextHdr

 call: Check nc
 if not "% App%" == "" call: MakeScript & "% App%"% SoHost% 80 "% RawOut%" & goto: NextHdr

 > & 2 echo curl, wget, plink or netcat not found.  Downloading plink from PuTTY site.
 set App =% TEMP% \ plink.exe
 call: Mirror ftp.chiark.greenend.org.uk /users/sgtatham/putty-latest/x86/plink.exe
 if not exist "% App%" call: Mirror ftp.samurai.com /pub/putty/putty-latest/x86/plink.exe
 if not exist "% App%" call: Mirror ftp.totem.fix.no /pub/mirrors/putty/putty-latest/x86/plink.exe
 if not exist "% App%" call: Mirror ftp.ds5.agh.edu.pl /pub/putty/putty-latest/x86/plink.exe
 if not exist "% App%" goto: NoApp
 call: MakeScript & "% App%" -raw% SoHost% -P 80 -batch "% RawOut%" & del "% App%" & goto: NextHdr
 : Mirror
 if exist "% App%" del "% App%"
 > "% Script%" echo = lcd "% TEMP%"
 >> "% Script%" echo = binary
 >> "% Script%" echo = get% ~ 2
 >> "% Script%" echo = bye
 ftp -s: "% Script%" -A -v -i% ~ 1> nul 2> nul
 goto: EOF
 : NextHdr
 for / f "usebackq tokens = 1, * delims =:" %% a in ("% RawOut%") do (
     if [%% a] == [{"id"] set Flair = %% a: %% b & del "% Script%" "% RawOut%" & goto: Next2
 )
 : Noapp
 > & 2 echo Giving up.  & goto: EOF
 : Next
 if not exist "% TempFile%" echo Error downloading data.  & goto: EOF
 set / p Flair = & 2 echo Something went bad.
 ) else (
     if "% SoName%" == "" (
         echo Your reputation is% SoReputation%.
     ) else (
         echo Reputation of% SoName% is% SoReputation%.
     )
 )
 goto: EOF
 : Parse
 if "% ~ 1" == "" goto: EOF
 set Line =% ~ 1
 shift
 if / i "% Line: ~ 0.11%" == "reputation:" (
     set SoReputation =% Line: ~ 11%
     goto: Parse
 )
 if / i "% Line: ~ 0.12%" == "displayName:" (
     set SoName =% Line: ~ 12%
     goto: Parse
 )
 goto: Parse
 : Check
 set App =
 for %% e in (% PATHEXT%) do for %% i in (% 1 %% e) do if NOT "%% ~ $ PATH: i" == "" set App = %% ~ $ PATH: i
 goto: EOF
 : MakeScript
 > "% Script%" echo = GET% FlairPath% HTTP / 1.1
 >> "% Script%" echo = Host:% SoHost%
 >> "% Script%" echo = Connection: close
 >> "% Script%" echo =
 goto: EOF
+10
source share

At the command prompt, type:

start iexplore http://stackoverflow.com/users/flair/{your UID here}.html 
+3
source share

For users accessible via (JSON), more detailed data:

 http://stackoverflow.com/users/rep/50475/2009-01-01/2009-01-31 

You can get some interesting data by analyzing this line. John Skeet uses this for his rep tracker .

0
source share

All Articles