Valhalla Legends Forums Archive | MSN Client/Bot Development | HTTP proxy

SkywingI've been investigating the HTTP proxy recently, and I've come up with this (in addition to Hypothetic's documentation[/ul]):

- The proxy cannot split messages between multiple HTTP responses to the client.
- The client cannot split messages between multiple HTTP requests to the proxy.
- You can use MSNP7 (or other older versions) with the proxy.
- You must not send multiple HTTP requests out at once (i.e. you must not send a data message after a poll until the poll has been replied to). The official client doesn't seem to follow this, which is why it occasionally gets kicked off with 400 Bad Request (enjoy Microsoft programs not interoperating with eachother!).
- If you kill the proxy session without sending OUT, it appears to stick around (logged on) for awhile (a couple minutes at least). This leads one to believe that it might be possible to reconnect to a disconnected proxy server session - however, I haven't tried this yet.

Also, you don't have to lie about what content-type, accept, or accept-encoding values your client supports, and you don't have to worry about having to lie about the user-agent field either. For example, I use the following:
Accept: application/x-msn-messenger
Accept-Language: en-us
User-Agent: BinaryChat

Building a compatible HTTP proxy might have a wide range of uses, from inspecting messages sent by the real client to running a proxy in a location you can control.  This might be an interesting project for somebody with the time and motivation to complete it...
April 24, 2003, 02:46 AM