PDA

View Full Version : نمایش فیلد های response(فوری)



m2m_123
سه شنبه 06 خرداد 1393, 11:46 صبح
سلام دوستان
من می خوام یه کد با جاوا بنویسم که بتونم تمام فیلدهایی که توی responseی که از سمت سرور میاد رو در بیارم.

منظورم از فیلدهای response مواری مثل
dataserver
set-cookie
pragma
...
هست.

ممنون میشم دوستان اگه لطف کنید و جواب بدید
:لبخندساده:

cups_of_java
سه شنبه 06 خرداد 1393, 13:24 عصر
http://examples.javacodegeeks.com/core-java/net/urlconnection/get-response-headers-from-http-request/

jrl_golestani
سه شنبه 06 خرداد 1393, 14:21 عصر
} ()private HttpServletRequest getRequest
.()return ((HttpServletRequest) FacesContext.getCurrentInstance
; (()getExternalContext().getRequest
{

} () private HttpServletResponse getResponse
.()return ((HttpServletResponse) FacesContext.getCurrentInstance
;(()getExternalContext().getResponse
{
با این دو تا متد میتونی هر چیزی که سمت سرور میره یا سمت کلاینت میاد بگیری.
اگه مجهول هست بگو برات توضیح بدم.

cups_of_java
سه شنبه 06 خرداد 1393, 22:56 عصر
} ()private HttpServletRequest getRequest
.()return ((HttpServletRequest) FacesContext.getCurrentInstance
; (()getExternalContext().getRequest
{

} () private HttpServletResponse getResponse
.()return ((HttpServletResponse) FacesContext.getCurrentInstance
;(()getExternalContext().getResponse
{
با این دو تا متد میتونی هر چیزی که سمت سرور میره یا سمت کلاینت میاد بگیری.
اگه مجهول هست بگو برات توضیح بدم.







ایشون به نظر نمیاد که توی کانتکست یه وب اپلیکیشن باشن دوست عزیز

m2m_123
چهارشنبه 07 خرداد 1393, 11:28 صبح
سلام دوستان
مرسی از راهنماییتون :)

الان من یه سوال دیگه دارم
کد زیر رو ببینید، این کد باید کوکی ها رو بگیره و نمایش بده ولی فقط واسه گوگل کار میکنه!!!! وقتی url رو عوض میکنم هیچی نمیشه :(
import java.net.CookieHandler;import java.net.CookieManager;
import java.net.CookiePolicy;
import java.net.CookieStore;
import java.net.HttpCookie;
import java.net.URI;
import java.net.URL;
import java.util.List;
//from w w w .j a v a 2s . co m
public class Main {
public static void main(String[] args) throws Exception {
CookieManager cm = new CookieManager();
cm.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cm);

new URL("http://google.com").openConnection().getContent();
CookieStore cookieStore = cm.getCookieStore();

List<HttpCookie> cookies = cookieStore.get(new URI("http://google.com"));
for (HttpCookie cookie : cookies) {
System.out.println("Name = " + cookie.getName());
System.out.println("Value = " + cookie.getValue());
System.out.println("Lifetime (seconds) = " + cookie.getMaxAge());
System.out.println("Path = " + cookie.getPath());
System.out.println();
}
} }

jrl_golestani
چهارشنبه 07 خرداد 1393, 11:56 صبح
این برنامه یه کوکی ست میکنه و اونو لود میکنه البته فقط backbone هست .
ManagedBean@
SessionScoped@
} public class CreateLoadCookise implements Serializable
;private static final long serialVersionUID = 1L

} ()public String btnCreateCookiClick
;( "Cookie cookie = new Cookie("product", "shoes
; (cookie.setMaxAge(30
; ( getResponse().addCookie(cookie
; return null
{
} () public String btnLoadCookiClick
; () Cookie[] cookies = getRequest().getCookies
; boolean f = false
} ( for (Cookie cookie : cookies
; (( "if (cookie.getName().equals("product
;(() setCooki(cookie.getValue
;f = true
;break
{
{
}( if (!f
;( "setCooki("Cooki not found
{
;return null
{

} ()public String getCooki
;return cooki
{

} ( public void setCooki(String cooki
;this.cooki = cooki
{

private HttpServletRequest getRequest
.()return ((HttpServletRequest) FacesContext.getCurrentInstance
; (()getExternalContext().getRequest
{

} () private HttpServletResponse getResponse
.()return ((HttpServletResponse) FacesContext.getCurrentInstance
;(()getExternalContext().getResponse
{
{

m2m_123
چهارشنبه 07 خرداد 1393, 16:43 عصر
ممنون دوست عزیز
ولی به نظرتون چرا کد بالا فقط واسه گوگل خروجی میده؟؟؟!!!!
آخه این کد هم فقط واسه گوگل نتیجه می ده!


import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;


public class GetCookiesFromHTTPConnection {


public static void main(String[] args) throws Exception {


URL url = new URL("http://google.com");

URLConnection conn = url.openConnection();


Map<String, List<String>> headerFields = conn.getHeaderFields();


Set<String> headerFieldsSet = headerFields.keySet();


Iterator<String> hearerFieldsIter = headerFieldsSet.iterator();


while (hearerFieldsIter.hasNext()) {
String headerFieldKey = hearerFieldsIter.next();
if ("Set-Cookie".equalsIgnoreCase(headerFieldKey)) {
List<String> headerFieldValue = headerFields.get(headerFieldKey);
for (String headerValue : headerFieldValue) {
System.out.println("Cookie Found...");
String[] fields;
fields = headerValue.split("------");
String cookieValue = fields[0];
String expires = null;
String path = null;
String domain = null;
boolean secure = false;

// Parse each field
for (int j = 1; j < fields.length; j++) {
if ("secure".equalsIgnoreCase(fields[j])) {
secure = true;
}
else if (fields[j].indexOf('=') > 0) {
String[] f = fields[j].split("=");
if ("expires".equalsIgnoreCase(f[0])) {
expires = f[1];
}
else if ("domain".equalsIgnoreCase(f[0])) {
domain = f[1];
}
else if ("path".equalsIgnoreCase(f[0])) {
path = f[1];
}
}
}

System.out.println("cookieValue:" + cookieValue);
System.out.println("expires:" + expires);
System.out.println("path:" + path);
System.out.println("domain:" + domain);
System.out.println("secure:" + secure);
System.out.println("*****************************************");
}
}
}
}
}

cups_of_java
چهارشنبه 07 خرداد 1393, 19:27 عصر
خوب سرور اون سایت باید کوکی ست کرده باشه تا شما بتونی بخونی... رو یه آدرسی امتحان کن مثل گوگل که کوکی برگردونه... (اغلب سایت ها وقتی شما لاگین کنی یه سری کوکی ست میکنن)
با کروم که سایت رو باز کنی از طریق منوی Inspect Element میتونی توی قسمت Network کوکی ها رو ببینی بعد با کد جاوات بخونیشون...