0
主要任務是通過Delphi程序進行POST自動化。使用REST客戶端我發現,具有網站和兩個標頭的URL:* login_email *和* login_pass *我可以成功獲取HTML代碼,並且我的POST授權形式正常,我已登錄。德爾福XE的POST請求
但是,我寫了這個德爾福代碼:
DataToSend := TStringList.Create;
DataToSend.Add('');
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.Request.CustomHeaders.AddValue('login_email','some_email');
IdHTTP1.Request.CustomHeaders.AddValue('login_pass','some_password');
Memo1.Lines.Add(idHTTP1.Post('http://url.com', DataToSend));
我的自定義標頭沒有URL編碼。
我看到的請求頭:
Server: nginx/1.0.8
Date: Sun, 01 Sep 2013 17:03:59 GMT
Content-Type: text/html; charset=windows-1251
Connection: close
X-Powered-By: PHP/5.2.6-1+lenny16
Vary: Accept-Encoding
但ontained HTML是相同的頁面,爲此,POST請求已經與未處理的形式發送。
我在做什麼錯?
有些服務器拒絕由於Indy設置的默認'User-Agent'的請求。如果這是您的情況,您可以嘗試使用最喜歡的瀏覽器之一來填充「IdHTTP1.Request.UserAgent」屬性,以僞造您所瀏覽的服務器。但這只是我的猜測(而且經常出現問題)。 – TLama
我添加了Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,如Gecko)Chrome/29.0.1547.62 Safari/537.36作爲UserAgent,但沒有任何更改。 –