2011-03-23 2 views
0

httpwebrequest를 사용하여 wordpress에 로그인하려고했지만 응답 헤더에 여러 개의 set-cookie가 있습니다. 쿠키가 손실되어 대시 보드를 표시 할 수 없지만 소켓을 사용하여 로그인 할 수 있지만 내 모든 코딩은 httwebrequest를 사용하여 빌드되므로 소켓으로 전환 할 수 없습니다.여러 개의 Set-Cookie가있는 HttpWebRequest

응답 헤더

(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를 사용하는 방법을 제안 할 수 있습니다하세요?

HttpWebRequest를 포스트 ("http://mywebsite.net/wp-login.php" 을 사용하여에 "로그인 = USER1 & PWD = PASS1 & & redirect_to = HTTP에서 = 로그 +를 WP-제출 : // mywebsite .NET/WP - 관리자/& testcookie = 1 "

그것을 반환 로그인 페이지, 예 소켓을 사용하는 경우 내가 수동 쿠키 처리와, 모든 것을 10 시간, 같은 작품을 확인했다.

쿠키에 수동 소켓 'Set-Cookie'는 다음을 반환합니다.

"wordpress_6e7750f6a474de23330d1b7f0e9990c6 = admin % 7C1301040547 % 7C2463ecd9d363899be1129ae53287963c; path =/wp-content/plugins; Http 만 "HttpWebResponse 클래스에서 동일한

은 :

"wordpress_sec_6e7750f6a474de23330d1b7f0e9990c6 = +; (화), 23 월 2010 그리니치 표준시 08시 12분 0초 = 만료;. "

이 값이 여기에없는 = +

+1

쿠키가 손실되었다고 생각하는 이유는 무엇입니까? 충분히 자세히 설명하지는 않았지만 사용중인 코드를 게시 할 수 있다면 도움이 될 것입니다. –

+0

동일한 문제가 발생했습니다. 쿠키는 다음과 같습니다 : wordpress_XXXX = +; 값이 누락되었습니다. 하지만 networkd 패킷을 얻을 때 맞습니다. 나는 java httpurlconnection을 사용한다. 그래서, 어떻게 문제를 해결합니까? – Tony

답변

0

난 단지 의심 할 수 있습니다, 그래서 내가 잘못 될 수있다 각 HttpWebRequest를 새 연결이다, 새 세션이 만들어집니다. 세션이 다르기 때문에 쿠키가 유효하지 않게됩니다. 인코딩 및 청크 연결은 현재 연결이 다소 중요하다는 것을 보여줍니다.

동일한 소켓을 사용하고 있다고 생각됩니다. 연결을 사용하여 모든 쿠키를 보내십시오.

희망 사항이 귀하의 문제를 설명하고 있습니다. 그렇지 않은 경우, 약간의 코드가 추가 문제 해결에 유용 할 것입니다. .

+0

값이없는 HttpWebResponse 클래스에 의해 반환 된 쿠키는 = +이 문제가 워드 프레스 사이트에만 제공됩니다 반환, 그것을 극복하는 방법을 제안 해주십시오? 미리 감사드립니다. –

1

HttpWebRequest.CookieContainer를 설정하는 것을 잊었습니까?

은 기본적으로는 더 쿠키가 요청 헤더에 전송되지 것입니다 및 응답로부터 쿠키가 후자의 사용을 위해 보존되지 않을 것입니다 의미 null이 될 것입니다.