Hi Taylor, Thanks for your analysis. As mentioned, I'm using oauth-proxy (http:// github.com/mojodna/oauth-proxy, I think was the URL); I wrote none of the OAuth code, so I have no idea what it may or may not be doing. I tried it, it seemed to work (until these problems posting nagios notifications) so I used it. You mentioned % characters not being properly encoded - I did wonder whether the problem was %-related before, but tried some test tweets containing % characters and generally found that they posted properly. I had a bit of a brainwave while on the train today, though, and realised that if = signs are being mishandled (not sure why I overlooked = before!), that would fit the symptoms. And indeed, it does look like that might be the problem - I just tried substituting _ for = in a previously failed notification, and it posted fine.
However, if oauth-proxy is indeed doing OAuth as badly as your list of faults implies, I may have a bit of a job on my hands to figure out what it's doing and fix it, or might try to find some other OAuth proxy or client. Pity, though, as oauth-proxy was about the only thing I'd found so far which lets me send tweets relatively easily from a shell script. (There was a curl-alike with OAuth support whose name I forget, which had so many dependencies (Ruby, I think) that I eventually gave up trying to get it to work.) It's also possible that I may be "curl"ing data into oauth-proxy incorrectly - I will try doing %-escaping on my argument to curl's -d option and see how that affects things. Anyway, for now, I can replace = with _. When I have time, I can either try staring hard at oauth-proxy to try to understand and fix it, or look for an alternative tool. Hmm, maybe by then, curl will have OAuth support... Thanks for your help, --Charles