ups 989 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/rc
  2. # lucent web proxy caches the page; defeat it
  3. # rfork n
  4. # if(! test -d /net.alt/tcp) import achille /net.alt
  5. # bind /net.alt /net
  6. if(! ~ $#* 1) {
  7. echo usage: ups 1ZA41W190338680961 >[1=2]
  8. exit usage
  9. }
  10. rfork e
  11. hget 'http://wwwapps.ups.com/etracking/tracking.cgi?track=Track&InquiryNumber1='^$1^ \
  12. '&TypeOfInquiryNumber=T' >/tmp/ups.1
  13. cat /tmp/ups.1 |
  14. x=`{sed -n 's/^<INPUT TYPE="HIDDEN" NAME="([^"]+)" VALUE="([^"]+)">.*/\1=\2/p' |
  15. tr ' ' ++}
  16. x=$"x
  17. x=`{echo $x | sed 's/ /\&/g'}
  18. x=$"x
  19. x=$x^'&tdts1.x=19&tdts1.y=7'
  20. hget -p $x http://wwwapps.ups.com/etracking/tracking.cgi | htmlfmt >/tmp/ups.2
  21. # to first blank line, output is a simple two-column table, followed by a blank line
  22. # after that it's a five column table followed by a blank line
  23. # after that it's UPS stuff starting 'Tracking results'
  24. sam -d /tmp/ups.2 >[2] /dev/null <<'!'
  25. /^Tracking results.*\n/p
  26. !echo
  27. .,$d
  28. 1,/^$/ s/:\n/: /g
  29. /^PACKAGE/,$y/(Activity|SCAN|RECEIVED|DELIVERED|DELIVERY)\n/ g/./ s/\n/ /g
  30. ,p
  31. !