Hey guys,

I am totally new to Tweeter API, and I just started trying to write a c
++ app on the windows mobile to use the tweeter API. Just to get a
feel for things, I wrote the function below. I know it has a lot of
probs, but I just wanted to get something quick to see if I could talk
to the Tweeter API. So to start with, I am not even doing auth and
just try to get the status of 123. However, when I do the
InternetReadFile, I kept getting the following, which seems like part
of an html file. So if any1 has an idea on what I am doing wrong, plz
lemme know. (Btw, I am not using the urlencoded content-type because I
think it's not required for GET commands?) Thanks in advance.

----------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Error Message</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<STYLE id=L_11001_1>A {
        FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #005a80; FONT-FAMILY:
tahoma
}
A:hover {
        FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #0d3372; FONT-FAMILY:
tahoma
}
TD {
        FONT-SIZE: 8pt; FONT-FAMILY: tahoma
}
TD.titleBorder {
        BORDER-RIGHT: #955319 1px solid; BORDER-TOP: #955319 1px solid;
PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 12pt; VERTICAL-ALIGN:
middle; BORDER-LEFT: #955319 0px solid; COLOR: #955319; BORDER-BOTTOM:
#955319 1px solid; FONT-FAMILY: tahoma; HEIGHT: 35px; BACKGROUND-
COLOR: #d2b87a; TEXT-ALIGN: left
}
TD.titleBorder_x {
        BORDER-RIGHT: #955319 0px solid; BORDER-TOP: #955319

----------------------------------------------------------

int ConnectToTweeter()
{
        HINTERNET hOpen = NULL, hConnect = NULL, hRequest = NULL;
        LPTSTR hdrs = (L"Content-Type: application/x-www-form-urlencoded");
        LPTSTR TwitterXMLUrl = (L"http://twitter.com/statuses/show/123.xml";);
        LPTSTR AcceptTypes[2] = {TEXT("Accept: */*"), NULL};
        DWORD dwFlags = INTERNET_FLAG_KEEP_CONNECTION;
        DWORD sizeInResult, sizeOutResult, sizeToWrite, sizeWritten;
        LPDWORD pSizeInResult = &sizeInResult;
        LPDWORD pSizeOutResult = &sizeOutResult;
        LPDWORD pSizeToWrite = &sizeToWrite;
        LPDWORD pSizeWritten = &sizeWritten;
        LPVOID lpBuffer [1024];
        TCHAR szErrMsg[200];
        sizeToWrite = 200;
        OpenFile();

        if (!(hOpen = InternetOpen(TEXT("CeHttp"),
INTERNET_OPEN_TYPE_PRECONFIG , NULL, 0, 0)))
        {
                wsprintf (szErrMsg, TEXT("%s: %x"), TEXT("InternetOpen Error"),
GetLastError());
                WriteFile (hFile, szErrMsg, sizeToWrite, pSizeWritten, NULL);
                goto error;
        }

        if (!(hConnect = InternetConnect
(hOpen,TwitterXMLUrl,INTERNET_DEFAULT_HTTP_PORT,NULL,
NULL,INTERNET_SERVICE_HTTP,0,1)))
        {
                wsprintf (szErrMsg, TEXT("%s: %x"), TEXT("InternetConnect 
Error"),
GetLastError());
                WriteFile (hFile, szErrMsg, sizeToWrite, pSizeWritten, NULL);
                goto error;
        }

        if (!(hRequest = HttpOpenRequest (hConnect,(L"GET"),NULL, NULL,
(LPCTSTR) AcceptTypes,NULL,dwFlags,0)))
        {
                wsprintf (szErrMsg, TEXT("%s: %x"), TEXT("HttpOpenRequest 
Error"),
GetLastError());
                WriteFile (hFile, szErrMsg, sizeToWrite, pSizeWritten, NULL);
                goto error;
        }

        if (!(HttpSendRequest (hRequest, NULL, 0, NULL, 0)))
        {
                wsprintf (szErrMsg, TEXT("%s: %x"), TEXT("HttpSendRequest 
Error"),
GetLastError());
                WriteFile (hFile, szErrMsg, sizeToWrite, pSizeWritten, NULL);
                goto error;
        }

        if (!(InternetQueryDataAvailable (hRequest, pSizeInResult, 0, 0)))
        {
                wsprintf (szErrMsg, TEXT("%s: %x"), 
TEXT("InternetQueryDataAvailable
Error"), GetLastError());
                WriteFile (hFile, szErrMsg, sizeToWrite, pSizeWritten, NULL);
                goto error;
        }

        if (sizeInResult >= 1024)
        {
                int num = sizeInResult / 1024;

                do
                {
                        InternetReadFile (hRequest, lpBuffer, 1024, 
pSizeOutResult);
                        WriteFile (hFile, lpBuffer, sizeOutResult, 
pSizeWritten, NULL);
                }
                while (--num > 0);
        }
        else
        {
                InternetReadFile (hRequest, lpBuffer, sizeInResult, 
pSizeOutResult);
                WriteFile (hFile, lpBuffer, sizeOutResult, pSizeWritten, NULL);
        }

        CloseFile();
        InternetCloseHandle(hOpen);
        InternetCloseHandle(hConnect);
        InternetCloseHandle(hRequest);
        return 0;

error:
        CloseFile();
        InternetCloseHandle(hOpen);
        InternetCloseHandle(hConnect);
        InternetCloseHandle(hRequest);
        return 1;
}

Reply via email to