Ethernet shield issues and reading from the web

I have been trying to use the Ethernet Shield to read an xml feed to control an arduino. I have tried it on my own, as well as through pachube.com, all to no avail. I can tweet via the ethernet shield, so I know my network settings are correct, but as soon as I try to connect to the internet to read an xml feed, it fails. Setting things up through pachube, I can send data to the site, but it refuses to read the xml feeds.

Using Serial.printIn to debug, the code gets to client.connect() at which point it fails. I have been trying to get a simple script going that will pull the robots.txt file from any IP address, but nothing seems to work. Any help/guidance anyone can provide would be appreciated.

Simple client test code.

//zoomkat 11-13-10
//simple ethernet client test code
//for use with IDE 0021 and W5100 ethernet shield
//modify the arduino lan ip address as needed
//open serial monitor to see what the arduino receives
//push the shield reset button to run client again

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 102 }; // Arduino IP address
byte server[] = { 208, 104, 2, 86 }; // zoomkat's web site

Client client(server, 80);

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  Serial.println("starting simple arduino client test");
  Serial.println();

  delay(1000);

  Serial.println("connecting...");

  if (client.connect()) {
    Serial.println("connected");
    client.println("GET /~shb/arduino.txt HTTP/1.0");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    Serial.println("==================================");
    Serial.println("");
    client.stop();
    for(;;);
  }
}

Yes, I have found your code before, I haven't been able to get it to work. I get connecting... then connection failed, again, once I get to the client.connect line. Any suggestions as to other fixes or remedies?