<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Bob Courchaine wrote:
<blockquote cite="mid43B17C0A.2030408@nfldinet.com" type="cite">
  <pre wrap="">Nevin Pratt wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Brent Vukmer wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Have you watched the HTTP request/response interaction using
Ethereal?  I find that tool to be a very helpful complement to digging
into networking code.
      </pre>
    </blockquote>
  </blockquote>
  <pre wrap=""><!---->
  </pre>
  <blockquote type="cite">
    <pre wrap="">I'll try it.  Unfortunately, I'm Mac based.  So, I'll have to dig up
another machine somewhere.  But I'll give it a go.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Nevin, try using tcpdump from a Terminal. It comes w/ OS X.

You'll have to use sudo to run it as root ("sudo tcpdump").

Bob

  </pre>
</blockquote>
I tried that.&nbsp; It wasn't particularly helpful.&nbsp; For example, while
running tcpdump, when I type the following URL into my (Thunderbird)
browser:<br>
<br>
<tt><a class="moz-txt-link-freetext"
 href="http://testing.shippingapis.com/ShippingAPITest.dll?API=Verify&amp;XML=">http://testing.shippingapis.com/ShippingAPITest.dll?API=Verify&amp;XML=</a>&lt;AddressValidateRequest
&gt;&lt;Address
ID="0"&gt;&lt;Address1&gt;&lt;/Address1&gt;&lt;Address2&gt;6406 Ivy
Lane&lt;/Address2&gt;&lt;City&gt;Greenbelt&lt;/City&gt;&lt;State&gt;MD&lt;/State&gt;&lt;Zip5&gt;&lt;/Zip5&gt;&lt;Zip4&gt;&lt;/Zip4&gt;&lt;/Address&gt;&lt;/AddressValidateRequest&gt;</tt><br>
<br>
tcpdump gives me the following:<br>
<br>
<blockquote type="cite">10:56:05.224754 IP 192.168.0.25.56308 &gt;
utscfwhm01.ut.sprintbbd.net.domain:&nbsp; 26942+ A?
testing.shippingapis.com. (42)<br>
10:56:05.345274 IP utscfwhm01.ut.sprintbbd.net.domain &gt;
192.168.0.25.56308:&nbsp; 26942* 1/3/3 A[|domain]<br>
10:56:05.346627 IP 192.168.0.25.50582 &gt;
testing.shippingapis.com.http: S 1878312729:1878312729(0) win 65535
&lt;mss 1460,nop,wscale 0,nop,nop,timestamp 1507361664 0&gt;<br>
10:56:05.414864 IP testing.shippingapis.com.http &gt;
192.168.0.25.50582: S 2571541148:2571541148(0) ack 1878312730 win 17520
&lt;mss 1460,nop,wscale 0,nop,nop,timestamp 0 0&gt;<br>
10:56:05.414968 IP 192.168.0.25.50582 &gt;
testing.shippingapis.com.http: . ack 1 win 65535 &lt;nop,nop,timestamp
1507361664 0&gt;<br>
10:56:05.415152 IP 192.168.0.25.50582 &gt;
testing.shippingapis.com.http: P 1:723(722) ack 1 win 65535
&lt;nop,nop,timestamp 1507361664 0&gt;<br>
10:56:05.528382 IP testing.shippingapis.com.http &gt;
192.168.0.25.50582: P 1:101(100) ack 723 win 16798
&lt;nop,nop,timestamp 112599815 1507361664&gt;<br>
10:56:05.529178 IP testing.shippingapis.com.http &gt;
192.168.0.25.50582: FP 101:258(157) ack 723 win 16798
&lt;nop,nop,timestamp 112599815 1507361664&gt;<br>
10:56:05.529229 IP 192.168.0.25.50582 &gt;
testing.shippingapis.com.http: . ack 259 win 65535
&lt;nop,nop,timestamp 1507361664 112599815&gt;<br>
10:56:05.529436 IP 192.168.0.25.50582 &gt;
testing.shippingapis.com.http: F 723:723(0) ack 259 win 65535
&lt;nop,nop,timestamp 1507361664 112599815&gt;<br>
10:56:05.599318 IP testing.shippingapis.com.http &gt;
192.168.0.25.50582: . ack 724 win 16798 &lt;nop,nop,timestamp 112599816
1507361664&gt;<br>
</blockquote>
<br>
Then, in Squeak, when I enter that same URL as an argument to
"HTTPClient httpGetDocument:", tcpdump gives me the following:<br>
<br>
<blockquote type="cite">11:00:42.637048 IP 192.168.0.25.56324 &gt;
utscfwhm01.ut.sprintbbd.net.domain:&nbsp; 4024+ PTR?
12.0.0.224.in-addr.arpa. (41)<br>
11:00:42.693034 IP utscfwhm01.ut.sprintbbd.net.domain &gt;
192.168.0.25.56324:&nbsp; 4024* 1/3/9 PTR[|domain]<br>
11:00:43.055624 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: S 849893481:849893481(0) win 65535
&lt;mss 1460,nop,wscale 0,nop,nop,timestamp 1507362219 0&gt;<br>
11:00:43.193739 IP testing.shippingapis.com.http &gt;
192.168.0.25.49271: S 1243403613:1243403613(0) ack 849893482 win 17520
&lt;mss 1460,nop,wscale 0,nop,nop,timestamp 0 0&gt;<br>
11:00:43.193830 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: . ack 1 win 65535 &lt;nop,nop,timestamp
1507362220 0&gt;<br>
11:00:43.555171 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: P 1:366(365) ack 1 win 65535
&lt;nop,nop,timestamp 1507362220 0&gt;<br>
11:00:43.636319 IP testing.shippingapis.com.http &gt;
192.168.0.25.49271: F 225:225(0) ack 366 win 17155
&lt;nop,nop,timestamp 112585161 1507362220&gt;<br>
11:00:43.636409 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: . ack 1 win 65535 &lt;nop,nop,timestamp
1507362220 0&gt;<br>
11:00:43.637288 IP testing.shippingapis.com.http &gt;
192.168.0.25.49271: P 1:225(224) ack 366 win 17155
&lt;nop,nop,timestamp 112585161 1507362220&gt;<br>
11:00:43.637322 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: . ack 226 win 65535
&lt;nop,nop,timestamp 1507362220 112585161&gt;<br>
11:00:44.376669 IP 192.168.0.25.49271 &gt;
testing.shippingapis.com.http: R 366:366(0) ack 226 win 65535<br>
</blockquote>
<br>
As far as I can tell, that doesn't tell me anything about why the
Microsoft IIS server at "testing.shippingapis.com" is treating the two
requests differently-- why it works fine when my browser is the client,
but returns a "400 Bad Request" error when Squeak is the client.<br>
<br>
Nevin<br>
<br>
<br>
&nbsp;&nbsp; <br>
</body>
</html>