Question:
After many happy years using the Chilkat libraries I am experiencing a mysterious issue with CkHttp::Download()... for some specific files, Download() fails almost immediately (no error - it reports a 404 Not Found from the server) BUT... downloading the same file through other means (IE, Chrome, etc.) works fine.
Here is the mysterious part for me... if I try the download using CkHttp::Download() with Fiddler running, it succeeds - Fiddler buffers the download and feeds it back to CkHttp::Download(), everybody is happy and there is much rejoicing. Without Fiddler running, CkHttp::Download() returns with the 404 error.
Reviewing the headers within the Chilkat log file and the headers seen in Fiddler, the only difference I can see is the inclusion of the server name in the GET:
Through Fiddler:
GET http://subdomain.website.com/tl/filname?etc. HTTP/1.1
Without Fiddler: GET /tl/filename?etc. HTTP/1.1
Outside of that, everything in the 2 requests appears the same... but the one through Fiddler works, the one without Fiddler returns 404.
Any ideas ?
Thanks,
More data: If I take the CkHttp request as listed in the Chilkat log file, copy it directly into the Fiddler composer window and then execute... it works fine - no 404 error. Of course, in issuing the request Fiddler adds the complete path back into the GET as indicated above, so it doesn't really solve anything except to verify that there are no other differences in the two requests (i.e. the one issued through Fiddler and the one issued directly by CkHttp::Download().
Looking at other posts for similar issues, I thought I would try setting MimicIE to see if that made any difference... it does not - different User Agent header but same behavior.
And... this is an issue with the current V9.5.0.44 but is NOT an issue with 9.3.0.0 (not sure about intervening versions as these are the only 2 I currently have - so my recent update to V9.5.0.44 caused the break).
Which leads to a question w.r.t CkHttpResponse::RemoveHeader() - this function is not available in V9.3.0.0 and I can't figure out a way to duplicate the required behavior using other functions. I am trying to remove the "Authorization:" header but nothing I do (other than CkHttpResponse::RemoveHeader) works - like CkHttp::RemoveRequestHeader() and CkHttp::RemoveQuickheader())
Any ideas ? (Asking of course because I want to return to V9.3.0.0 if I can't figure out the issues with V9.5.0.44 and CkHttp::Download()
Thanks,
No ideas for the 404 error.
In the older version, you might try calling CkHttpRequest::AddHeader with a null or empty value string to remove it.
Note: This is a forum where hopefully users can help other users. This not a free support line. Chilkat responds to emails (support@chilkatsoft.com) in a timely manner to those customers with non-expired support.