I have a Delphi application that uses WinHTTP. Everything was fine until two weeks back. However, some users started to experience the "Server Name cannot be resolved" error when the application tried to access a remote server for the first time. But it resolves after that. They might get it the next day as well.
I have about 100 users experiencing this. But I have many more users who have no problem. Also, a few users had the error persistently. The drivers/etc/hosts file entry solved the problem for them. What could be the reason?
Here is the basic code:
httpRequest := CoWinHTTPRequest.Create;
httpRequest.SetTimeouts(60000,60000,60000,60000); //1 minute for everything
httpRequest.Open('POST',url,False);
jsPostRequest.AddPair('email',UserName);
jsPostRequest.AddPair('password',Password);
jsPostRequest.AddPair('ttl','8');
RequestStr := jsPostRequest.ToString;
httpRequest.SetRequestHeader('Content-type','application/json');
try
httpRequest.send(RequestStr);
except on e:Exception do
ShowMessage(e.message); //<------------ ERROR
end;
Update:
I don't have this problem if I use Indy TIdHTTP.
What makes Indy can resolve the DNS but WinHTTP cannot?