At first glance, your question is really about HTTP, not Track, as
your request appears to be malformed. I'd suggest using an existing
HTTP client if at all possible. You could also contrast your
implementation with: http://tools.ietf.org/html/rfc2616#section-4.1.
Or, get your query working with curl(1) and capture the interaction
with a protocol decoder, perhaps Wireshark. Then analyze your client,
and fix the deltas.

-John Kalucki
http://twitter.com/jkalucki
Services, Twitter Inc.



On Jul 27, 11:18 am, Joseph <northwest...@gmail.com> wrote:
> I am trying to use the track streaming API, but I'm having trouble
> with the syntax. The example shows how to use a tracking list stored
> in a file in the format: track = word1, word2, etc..
>
> I tried the following (following a successful fsockopen call to
> stream.twitter.api:
>
> POST /track.json track = Palin, #fubar HTTP/1.1 Host:
> stream.twitter.com User-Agent: UserAgent Authorization: Basic
> cGXybmFzc3TzZGV2OlBhcm5hMzT1Mzl4MDMz Connection: Close
>
> and I am getting the following error code: HTTP/1.1 400 Bad Request
>
> The actual relevant test PHP code is:
>
> $fp = fsockopen($url, 80, $errno, $errstr, 30);
> if (!$fp) {
>     echo "$errstr ($errno)\n";} else {
>
>     echo "file handle: ".$fp."<br/>";
>     $header = "POST /track.json track = $trackTerms HTTP/1.1\r\n";
>     $header .= "Host: stream.twitter.com\r\n";
>     $header .= "User-Agent: UserAgent\r\n";
>     $header .= "Authorization: Basic " . base64_encode($twitUsername .
> ':' . $twitPwd)."\r\n";
>     $header .= "Connection: Close\r\n\r\n";
>     echo $header."<br/>";
>     fwrite($fp, $header);
>     $line = fgets($fp, 4096);
>     echo $line;
>     fclose($fp);
>
> }

Reply via email to