2011-03-23 52 views
0

我想使用httpwebrequest登錄wordpress,但無法這樣做,在響應頭中有多個set-cookie,很少有cookie丟失,因此無法顯示儀表板,但是我我能夠使用套接字登錄,但由於我的所有代碼都是使用httwebrequest構建的,因此我無法切換到套接字。HttpWebRequest與多個Set-Cookie

響應頭

(Status-Line) HTTP/1.1 302 Moved Temporarily 
Date    Wed, 23 Mar 2011 07:52:24 GMT 
Server   Apache 
X-Powered-By PHP/5.2.17 
Expires:  Wed, 11 Jan 1984 05:00:00 GMT 
Cache-Control no-cache, must-revalidate, max-age=0 
Pragma   no-cache 
Set-Cookie  wordpress_test_cookie=WP+Cookie+check; path=/ 
Set-Cookie  wordpress_6e7750f6a474de23330d1b7f0e9990c6=admin%7C1301039544%7C16d39b9f49cf062500d50471df7320e9; path=/wp-content/plugins; httponly 
Set-Cookie  wordpress_6e7750f6a474de23330d1b7f0e9990c6=admin%7C1301039544%7C16d39b9f49cf062500d50471df7320e9; path=/wp-admin; httponly 
Set-Cookie  wordpress_logged_in_6e7750f6a474de23330d1b7f0e9990c6=admin%7C1301039544%7C0b2d990d7cc420c4203fbce464c285b2; path=/; httponly 
Last-Modified Wed, 23 Mar 2011 07:52:24 GMT 
Location   http://breakingnewstoday.net/wp-admin/ 
Keep-Alive  timeout=3, max=100 
Connection  Keep-Alive 
Transfer-Encoding chunked 
Content-Type text/html; charset=UTF-8 

請任何一個可以建議如何使用的HttpWebRequest的工作,是我改寫的HttpWebRequest從流處理cookie,如果是的話我該怎麼做呢?

使用HttpWebRequest的職位( 「http://mywebsite.net/wp-login.php」, 「日誌= USER1 & PWD = PASS1 & WP-提交=登錄+在& redirect_to的HTTP =:// mywebsite .NET /可溼性粉劑管理員/ & testcookie = 1"

返回登錄頁面,是的,我已經檢查過了10倍,而同樣的工作如果用插座使用,具有手動cookie處理。

餅乾中手動插座'Set-Cookie'返回以下內容:

「wordpress_6e7750f6a474de23330d1b7f0e9990c6 = admin%7C1301040547%7C2463ecd9d363899be1129ae53287963c;路徑= /可溼性粉劑內容/插件;僅Http 「

在httpwebresponse相同是:

」 wordpress_sec_6e7750f6a474de23330d1b7f0e9990c6 = +;到期=週二,23-MAR-2010八點12分00秒格林尼治標準時間。」

值在這裏失蹤= +

+1

是什麼讓你覺得cookies正在丟失?你還沒有真正詳細解釋你在做什麼......如果你可以發佈你正在使用的代碼,這將有所幫助。 – 2011-03-23 07:59:22

+0

我遇到了同樣的問題。該cookie是這樣的:wordpress_XXXX = +;值缺失。但是當我得到網絡數據包時是正確的。我使用java httpurlconnection。那麼,你如何解決這個問題呢? – Tony 2016-03-29 07:58:24

回答

0

我只能懷疑,所以我可能是錯的。每個HttpWebRequest的是一個新的連接,所以創建了一個新的會話,Cookie因爲會話不同而變得無效,我認爲Encoding chunked和keep-alive表明當前的連接有點重要,我相信你在同一個套接字中使用相同的套接字連接發送你所有的cookies。

希望這可以解釋你的問題。如果沒有,一些代碼對於進一步的故障排除是有用的奧丁。

+0

由httpwebresponse返回的cookie沒有價值它返回= +這個問題只適用於WordPress的網站,請建議如何解決它?先謝謝你 – 2011-03-23 08:41:12

1

你忘了設置HttpWebRequest.CookieContainer嗎?

默認情況下,它將是空的,這意味着在請求頭中不會發送cookie,並且不會保留響應的cookie用於後面的用法。