在大家都告訴我增加超時值之前,我不想增加它,因爲沒有意義,100秒不夠長。所有其他獲得和發佈後的響應花費更少的時間,而不會拋出超時/任務取消異常。HTTPClient POST掛起/超時異常
下面是代碼
var baseAddress = new Uri("http://www.foodservice.com/home/fs_login.cfm?logmode=Home");
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
var trypage = await client.GetAsync("http://www.foodservice.com/home/fs_login.cfm?logmode=Home");
trypage.EnsureSuccessStatusCode();
Console.WriteLine("something");
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("user_name", "someuser"),
new KeyValuePair<string, string>("password", "somepass"),
new KeyValuePair<string, string>("logmode", "Home")
});
var result = await client.PostAsync("http://www.foodservice.com/home/fs_login_check.cfm", content);
Console.WriteLine("somethingelse");
result.EnsureSuccessStatusCode();
這雙手上。東西印刷品,somethingelse不
變種結果=等待client.PostAsync( 「http://www.foodservice.com/home/fs_login_check.cfm」,內容);
我看不出有任何理由爲什麼要掛在這裏失敗...
摘要:爲什麼不是我的帖子堅持下去嗎?我是使用錯誤的地址還是什麼?
我假定該方法的工作原理,並沒有超時,如果你使用一個普通的web瀏覽器來瀏覽有問題的網頁? 很難說出爲什麼它不起作用,或許這個網站有額外的檢查來驗證登錄是由人發佈的,而不是通過例如暴力破解密碼。或者您的請求中缺少一些必需的Cookie? – Culme
@Culme確定我傾倒了這些cookie,並且我錯過了一些應該在那裏的信息,當我加載頁面時...是否有一種方法可以使httpclient等待所有cookie? –
@Culme我檢查了大部分的javascript,我找不到來自.foodservice.com的cookies來自哪裏,我只有www.foodservice.com cookies –